在RewriteRule中允许多个语言字符

时间:2016-09-23 14:53:55

标签: apache url mod-rewrite url-rewriting url-rewrite-module

我已经为我的引擎提供了一些RewriteRule,现在我想在url中添加外语,所以我也必须改变我的重写引擎规则,但我无法理解我必须如何做到这一点。

RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/page/([0-9]+)/?$ ?lang=$1&page=$2&cat=$3&pNumb=$4 [NC]

RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/page/([0-9]+)/?$ ?lang=$1&page=$2&pNumb=$3 [NC]
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/opt/([A-Za-z0-9_\:{},"'><.-]+)/?$ ?lang=$1&page=$2&opt=$3 [NC]




RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ ?lang=$1&page=$2&cat=$3&cont=$4 [NC]

RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ ?lang=$1&page=$2&cat=$3 [NC]



RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ ?lang=$1&page=$2 [NC]
RewriteRule ^([A-Za-z0-9-_]+)/?$ ?lang=$1 [NC]

这是我目前的规则,我也希望opt变量允许外国字符。 在这一行

RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/opt/([A-Za-z0-9_\:{},"'><.-]+)/?$ ?lang=$1&page=$2&opt=$3 [NC]

请说明我必须添加这种规则。

1 个答案:

答案 0 :(得分:0)

我相信你正在寻找[B]旗帜:http://httpd.apache.org/docs/current/rewrite/flags.html#flag_b

此外,如果您使用[B]避免转义,您还应该只使用(。+)而不是那个庞大的字符列表。