我有一些按顺序编写的规则:
RewriteRule ^(en|fr) index.php?page=home&lang=$1 [L]
RewriteRule ^(en|fr)/home index.php?page=home&lang=$1 [L]
RewriteRule ^(en|fr)/terms index.php?page=terms&lang=$1 [L]
然而,第一个看起来似乎超过了其余部分。
我已尝试取消[L]
,但这并不符合我的预期,也绝不会显示“条款”页面。
有什么想法吗?
答案 0 :(得分:1)
如果您希望http://www.example.com/en
或http://www.example.com/fr/
(带或不带斜杠)重定向到第一项,请将第一个规则更改为:
RewriteRule ^(en|fr)/?$ index.php?page=home&lang=$1 [L]
/?
匹配是否有斜杠,而$
表示"匹配网址的末尾" (如果URL继续,请不要匹配。)