我的.htaccess
文件中有这条规则:
RewriteRule ^([a-z0-9-]+)/([\p{L}0-9-]+)$ /cat/article.php?author=$1&title=$2 [QSA,L]
例如匹配http://www.example.com/toto6-titi/tata-tutu2
。
现在,我想在任何字母表中包含任何类型的字符,因此我将重写规则更改为:
RewriteRule ^([\p{L}0-9-]+)/([\p{L}0-9-]+)$ /cat/article.php?author=$1&title=$2 [QSA,L]
http://www.example.com/toto6-titi/tata-tutu2
以及类似的网址仍在使用,但是国际网站已经开始工作了#34;像http://www.example.com/啊/安
这样的网址仍然没有:(
我正在使用Apache 2.2.3,PHP 5.6.25和MySQL 5.6.17
我的.htaccess
文件采用UTF8编码
我错过了什么?
答案 0 :(得分:1)
我建议使用带有否定字符类的正则表达式:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?author=$1&title=$2 [QSA,L]