1
我不以书面形式modrewrite访问规则好,想实现以下情形:无限重定向循环通过htaccess的规则多语言
virtual url /en/shop.php redirects to /shop.php?lang=en
已经得到了,但实际的问题是modrewrite环境中:
if url is '/' (empty) --> redirect to /en/ (/index.php?lang=en)
if url is '/en' or '/de' --> redirect to /en/ or /de/ (add slash)
if an uri is "defined" like /en/shop.php -> redirect to /shop.php?lang=en
我已经尝试了几种规则,但在一个无限循环的最后一个结果,我无法弄清楚什么是错的..:/请帮助
这里是我的.HT访问的文件:
RewriteEngine On
RewriteBase/
# empty url -> redirect to en/
RewriteRule ^$ en/ [R=301,L]
# url is ONLY '/en' or '/de' -> redirect to /en/ or /de/ (adding slash)
RewriteRule ^(en|de)$ $1/ [R=301,L]
# now all urls have en/ de/ -> parse them
RewriteRule ^(en|de)/(.*)$ $2?lang=$1&%{query_STRING} [R=301,L]
导致无限循环的规则是什么? –