在 .htaccess RewriteRule 中出现阿拉伯字符(م)的问题

3

我在 .htaccess RewriteRule 中遇到了阿拉伯语字符 ( م ) 的问题。

问题是:

当我打开 url localhost/site/cat/مرئيات 时,我会得到如下错误页面:

screenshoot1

但当我将其改为 localhost/site/cat/برئيات,即更改 ( م ) 字符或删除它,它就能正常工作,如下所示:

screenshoot2

其他阿拉伯字符都能正常工作,那么我的情况出了什么问题?

我的 .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]

请帮忙,谢谢。


尝试重写规则 ^(.)$ cat.php?title=$1 [NC,L] - Sayed Mohd Ali
1个回答

1
我通过将重写规则更改为以下内容,成功在本地主机上运行它:
RewriteRule ^cat/([^/.]+)$ cat.php?title=$1 [QSA,L]

所以它匹配除了“/”或“.”之外的任何字符。但我不太确定为什么它没有接受您的版本。 在刷新之前,请确保删除缓存!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接