Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache .htaccess重写规则赢得';t unicode字符_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache .htaccess重写规则赢得';t unicode字符

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

我正在使用以下ModRewrite使我的URL看起来更干净:

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]