我使用以下ModRewrite使我的网址看起来更干净:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?key=$1
它允许使用字母和数字就好,但是当我尝试使用%时会产生400错误,我需要使用unicode字符#/'等。 这有什么原因吗?感谢。
答案 0 :(得分:2)
您应该在重写规则中使用B
标志。看看apache manual 。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-#$%^&]+)/?$ index.php?key=$1 [B]
修改强>:
mod_rewrite使用未转义的字符,因此如果您想使用unicode字符,请在重写规则中使用它们并将.htaccess
文件保存为unicode!