2016-09-23 76 views
0

我已經有一些RewriteRule爲我的引擎,現在我想在url中添加外語,所以我必須改變我的重寫引擎規則,但我不知道我必須如何做到這一點。允許在RewriteRule中的多種語言字符

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] 

這是我目前的規則,我希望選擇變量允許的外國字符。 在這一行

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

請告訴我怎麼必須添加這樣的規則。

回答

0

我相信你正在尋找的[B]標誌:http://httpd.apache.org/docs/current/rewrite/flags.html#flag_b

另外,如果你正在使用[B],以避免逃避,你也應該能夠只使用(+)代替那巨大的人物名單。

+0

難度在於lang = $ 1&page = $ 2對於$ 1和$ 2的任何值都不是有效的URL。那個查詢字符串應該追加到什麼地方?查詢字符串必須遵循有效的URI。 –