Apache .htaccess重写规则赢得';t unicode字符
我正在使用以下ModRewrite使我的URL看起来更干净:Apache .htaccess重写规则赢得';t unicode字符,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我正在使用以下ModRewrite使我的URL看起来更干净: RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?key=$1 它允许使用字母和数字,但当我尝试使用%时,它会产生400个错误,我需要将unicode字符用于#/'等。 有什么原因吗?谢谢。您应该在重写规则中使用B标志。看一看。 编辑: mod_rewrite使用未转义的字符,所以如果要使用unicode字符,请在rewrite rule中使用它们,并将.htac
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?key=$1
它允许使用字母和数字,但当我尝试使用%时,它会产生400个错误,我需要将unicode字符用于#/'等。
有什么原因吗?谢谢。您应该在重写规则中使用
B
标志。看一看。编辑:
mod_rewrite使用未转义的字符,所以如果要使用unicode字符,请在rewrite rule中使用它们,并将
.htaccess
文件保存为unicode 您在日志中看到了哪些错误消息?[Sun Oct 30 16:17:15 2011][error][client::1]文件不存在:/Applications/MAMP/htdocs/search/$3
Hehe。。您提供了什么输入(url),得到了什么结果(url),以及相关的错误消息是什么?看看这个,它很有用:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-#$%^&]+)/?$ index.php?key=$1 [B]