2

先頭に国コードがある次の 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]

次のように理解できます: /<3rd level>_en/ で始まらない domain.com の下のすべての第 3 レベルのドメインへのすべてのリクエストは、それにリダイレクトされます...

于 2012-11-15T08:49:51.253 に答える