我有这个 htaccess 规则
RewriteRule ^page/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/(.*)/([0-9a-zA-Z_-_]+)
/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)$ page.php?lang=$1&search=$2&state_type=$3&city=$4
&stats=$5&area=$6&cost=$7 [NC,L]
第四个查询字符串是阿拉伯语,我希望允许任何字符,只要 [0-9a-zA-Z_-] 将仅针对英文字符进行验证。当我使用 (.*) 时,它允许任何英文字符,但是当我插入阿拉伯字符时,我收到 404 错误。那么如何允许 htaccess 验证规则中的任何字符获取阿拉伯值呢?
[更新] 将 htaccess 规则更改为:
RewriteRule ^page/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)$ page.php?lang=$1&search=$2&
state_type=$3&city=$4&stats=$5&area=$6&cost=$7 [NC,L]
现在我没有收到 404 错误,但是当我回显查询字符串值(阿拉伯语)时,我得到空值,当我将其更改为英语时,它工作正常。我尝试将所有查询字符串值更改为阿拉伯语并得到相同的结果:空,因为它根本不存在。