重定向apache /无论是/ en /等等

时间:2012-11-24 13:55:27

标签: apache .htaccess mod-rewrite redirect

如果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?

1 个答案:

答案 0 :(得分:0)

问题在于这一行:

RewriteCond %{REQUEST_URI}{3} !^/en$ [NC]

%{REQUEST_URI}{3}变量无效。您不能在比较的右侧混合正则表达式(它想要变量和/或文字)。您希望左侧的正则表达式只是检查它是否不以/en/开头:

RewriteCond %{REQUEST_URI} !^/en/