我正在使用以下 ModRewrite 使我的 url 看起来更干净:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?key=$1
它允许很好地使用字母和数字,但是当我尝试使用 % 时会产生 400 错误,我需要使用 unicode 字符来表示 #/' 等。 这背后有什么原因吗?谢谢。
最佳答案
您应该在重写规则中使用 B
标志。看看apache manual .
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-#$%^&]+)/?$ index.php?key=$1 [B]
编辑:
mod_rewrite 使用非转义字符,所以如果你想使用 unicode 字符,请在重写规则中使用它们并以 unicode 保存 .htaccess
文件!
关于apache - .htaccess 重写规则不会使用 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946003/