2012-11-24 50 views
0

我想我的用户从mysite.com/mobiles到mysite.com/en/mobiles如果连接重定向不存在:重定向阿帕奇/不管到/ EN /不管

我尝试这样做:

RewriteCond %{REQUEST_URI}{3} !^/en$ [NC] 
RewriteCond %{REQUEST_URI} ^(.+)$ 
RewriteRule ^(.+)$ /en/$1 [R=301,L] 

它给了我一个无限循环.. 第一行是好吗?我可以比较只有3第一caractere的请求uri吗?

回答

0

问题是这样的线:

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

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

RewriteCond %{REQUEST_URI} !^/en/ 
+0

无限循环..:/ – Klaitos