【发布时间】:2018-10-12 12:59:48
【问题描述】:
大家好,
我正在努力理解这个不起作用的简单规则有什么问题。 我有一个具有类似 URL 的网站:site.com/support,我现在想将所有 URL site.com 重定向到 site.com/en,site.com/support/ 到 site.com/en/support/, ....
经过多次尝试和搜索,我想出了以下两条规则:
RewriteRule ^(?![a-z]{2}/)(.*)$ /en/$1 [R=301,L] # redirect to default language
RewriteRule ^([a-z]{2})/(.*)$ /$2?lang=$1 [QSA,L]
这些规则中的每一个都可以完美地单独工作,但在组合时会导致过多的重定向 (?lang=en&lang=en&lang=en...)
谁能告诉我怎么回事?
谢谢
【问题讨论】:
-
你试过这个吗? stackoverflow.com/a/1689294
-
嗨,除了参考链接中的解决方案之外,还有其他解决方案吗,因为它不符合我的第二条规则,而且真的无法弄清楚出了什么问题! :(
标签: regex .htaccess url-rewriting