如果en不存在,我想将我的用户从mysite.com/mobiles重定向到mysite.com/en/mobiles:
我试过了:
RewriteCond %{REQUEST_URI}{3} !^/en$ [NC]
RewriteCond %{REQUEST_URI} ^(.+)$
RewriteRule ^(.+)$ /en/$1 [R=301,L]
它给了我一个无限循环.. 第一线好吗?请问我只能比较请求uri的3个第一个carac?
答案 0 :(得分:0)
问题在于这一行:
RewriteCond %{REQUEST_URI}{3} !^/en$ [NC]
%{REQUEST_URI}{3}
变量无效。您不能在比较的右侧混合正则表达式(它想要变量和/或文字)。您希望左侧的正则表达式只是检查它是否不以/en/
开头:
RewriteCond %{REQUEST_URI} !^/en/