0

如果 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 个字符吗?

4

1 回答 1

0

问题是这一行:

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

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

RewriteCond %{REQUEST_URI} !^/en/
于 2012-11-24T15:20:05.897 回答