首页 > 解决方案 > .htaccess RewriteRule 中的阿拉伯语 ( م ) 字符问题

问题描述

我对م.htaccess RewriteRule 中的 () 阿拉伯字符有疑问。

问题是 :

当我打开网址时,localhost/site/cat/مرئيات我得到这样的错误页面:

截图1

但是当我localhost/site/cat/برئيات通过更改 ( م) 字符或删除它来更改它时,它可以像这样正常工作:

截图2

其他阿拉伯字符工作正常,那么在我的情况下哪里错了?

我的 .htaccess 文件内容:

Options None
Options FollowSymLinks
AddDefaultCharset UTF-8
AddType 'text/html; charset=UTF-8' .html
AddCharset UTF-8 .html
RewriteEngine On
RewriteRule ^cat/(.*)/?$ cat.php?title=$1 [NC,L]

请帮助和感谢。

标签: .htaccessmod-rewritecharacterarabic

解决方案


通过将重写规则更改为以下内容,我设法使其在我的本地主机上工作:

RewriteRule ^cat/([^/.]+)$ cat.php?title=$1 [QSA,L]

所以它匹配除“/”或“.”以外的任何字符。我不太清楚为什么它不接受你的版本。请务必在刷新之前删除缓存!


推荐阅读