1

あるドメインから別のドメインにリダイレクトするための書き換えルールを作成する必要があります。

   maindomain.com/en/ -> secounddomain.com/en/
   maindomain.com/en/pagename.html -> secounddomain.com/en/pagename.html
   www.maindomain.com/en/ -> secounddomain.com/en/
   www.maindomain.com/en/pagename.html -> secounddomain.com/en/pagename.html
   secounddomain.com -> secounddomain.com/en/
   www.secounddomain.com -> secounddomain.com/en/

安全のために(背中なし)

   secounddomain.com/pl/ -> secounddomain.com/en/
   www.secounddomain.com/pl/ -> secounddomain.com/en/

私はこのようにしようとしますが、うまくいきません:

RewriteCond %{HTTP_HOST} ^maindomain.com/en/$ [NC]
   RewriteRule ^(.*)$ http://www.secounddomain.com/en/$1 [r=301,L]

   RewriteCond %{HTTP_HOST} ^www.maindomain.com/en/$ [NC]
   RewriteRule ^(.*)$ http://www.secounddomain.com/en/$1 [r=301,L]

   RewriteCond %{HTTP_HOST} ^www.secounddomain.com/pl/$ [NC]
   RewriteRule ^(.*)$ http://www.secounddomain.com/en/$1 [r=301,L]

   RewriteCond %{HTTP_HOST} ^secounddomain.com/pl/$ [NC]
   RewriteRule ^(.*)$ http://www.secounddomain.com/en/$1 [r=301,L]

よろしくお願いします。

4

1 に答える 1

1

まず第一に、この条件は間違っています:

RewriteCond %{HTTP_HOST} ^maindomain.com/en/$ 

ホスト名と%{HTTP_HOST}のみ一致できるため、一致maindomain.comのみが可能です。

.htaccess は次のようになります。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ [NC]
RewriteRule ^(en(?:/.*|))$ http://secounddomain.com/$1 [L,R=301,NC]

RewriteCond %{HTTP_HOST} ^(www\.)?secounddomain\.com$ [NC]
RewriteRule (?!^en/)^(.*)$ http://secounddomain.com/en/$1 [L,R=301,NC]

RewriteCond %{HTTP_HOST} ^(www\.)?secounddomain\.com$ [NC]
RewriteRule ^pl(/.*|)$ http://secounddomain.com/en$1 [L,R=301,NC]
于 2013-08-01T10:44:49.980 に答える