.htaccess文件不接受阿拉伯语

时间:2015-07-08 02:24:37

标签: php .htaccess

我有一个.htaccess文件,其中包含以下代码:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule /(.*)\.html article.php?title=$1

将我的网址从article.php?title=xxxx转换为article/xxxx.html

url包含阿拉伯语和英语...

所以我输入这个网址

article/تسريب-أولى-صور-هاتف-LG-G4s-الجديد.html

工作正常 但是当我用url访问另一篇文章时

article/CloneApp-نقل-برامجك-المفضلة-بكامل-إعدادتها-من-ويندوز-إلى-اخر-نقرة-زر.html

不工作:Objet非麻烦!

问题是什么(他们之间有什么不同?)为什么第一个有效,第二个没有!

提前多多谢谢。

1 个答案:

答案 0 :(得分:2)

  

最有可能的问题是您的重写规则。它显然是工匠   这样它只适用于仅包含ascii的请求   URL的slug部分中的字符,下划线或连字符。   这显然不会匹配URL中的阿拉伯字符。所以你有了   改变你的规则接受或多或少的任何期望   特殊字符:

RewriteRule ^([0-9]+)/([^/]+)/?$ article.php?id_art=$1 [NC,L]

从这个问题中提出类似的问题How to enable arabic slug in htaccess?

希望这有帮助。