我一直在寻找答案,但我似乎找不到。这就是我需要的:
-
www.domain1.it/en
->www.domain2.com/en
-
www.domain2.com/it
->www.domain1.it/it
我已经尝试了很多可能的解决方案,但没有一个可行
RewriteCond %{HTTP_HOST} www.domain2.com
RewriteCond %{REQUEST_URI} ^/it/ [NC]
RewriteRule .* http://www.domain1.it/it [R=301,L]
它不工作:
RewriteCond %{HTTP_HOST} ^www.domain2.com$
RewriteCond %{REQUEST_URI} ^/it/(.*)$
RewriteRule ^(.*)$ http://www.domain1.it/$1 [L,R=301]
它不工作:
RewriteCond %{HTTP_HOST} ^www.domain2.com$ [NC]
RewriteCond %{REQUEST_URI} ^/it/(.*)$
RewriteRule ^(.*)$ http://www.domain1.it/$1 [L,R=301]
它不工作:
RewriteCond %{HTTP_HOST} www.domain2.com
RewriteCond %{REQUEST_URI} ^/it/
RewriteRule ^(.*)$ http://www.domain1.it/it/ [R=301,L]
它不工作:
RewriteCond %{HTTP_HOST} ^www.domain2.com
RewriteCond %{REQUEST_URI} ^/it/
RewriteRule ^(.*)$ http://www.domain1.it/$1 [R=301,L]
它不工作:
RewriteCond %{HTTP_HOST} ^(www.)?domain2.com$ [NC]
RewriteCond $1 !^en/$ [NC]
RewriteRule ^(.*)$ http://www.domain1.it/$1
我实际上认为你的一些尝试将工作,但你的问题可能是你的浏览器缓存重定向使你的调试不可靠。
我认为下面的重定向更简单,而且会达到你想要的效果。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain2.com$ [NC]
RewriteRule ^it(.*) http://www.domain1.it/it$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.domain1.it$ [NC]
RewriteRule ^en(.*) http://www.domain2.com/en$1 [R=301,L]