2

我需要重定向以下 URL,该 URL 以国家/地区代码开头:

http://xx.domain.com/test.html

进入:

http://xx.domain.com/xx_en/test.html

我想出了以下内容,当然这会有一个无限循环:

RewriteCond %{REQUEST_URI} !/xx_en/ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com [NC]
RewriteRule (.*) /%1_en/$1 [R=301,L]

所以我添加了第一行,我认为这意味着如果您在 request_uri 中没有看到 /xx_en/ ,那么请执行以下操作。

知道我做错了什么吗?

4

1 回答 1

0

使用类似于以下规则集的内容:

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/%1_en/.*$
RewriteRule ^(.*)$ /%1_en/$1 [R=301,L]

您可以这样理解:对于 domain.com 下所有不以 /<3rd level>_en/ 开头的所有第三级域的请求,都重定向到它...

于 2012-11-15T08:49:51.253 回答