.htaccess将所有域重定向到一个域

时间:2013-08-21 11:46:15

标签: .htaccess

我如何从.in或.net和其他人重定向到.com。这是我试过的

RewriteEngine on 
Rewritecond %{HTTP_HOST} !^www\.mysite\.com
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

我如何让它也适用于子域? 例如:

http://subdomain.mysite.in/app/rest-of-the-url
http://subdomain.mysite.net/app/rest-of-the-url

应该去

http://subdomain.mysite.com/app/rest-of-the-url

3 个答案:

答案 0 :(得分:0)

RewriteEngine on

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

答案 1 :(得分:0)

RewriteEngine on

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

除了一个案例

之外,这个工作正常

https://www.mysite.net/app/xyz未被重定向到https://www.mysite.com/app/xyz

答案 2 :(得分:0)

没有理由将这些组合成一个规则。您应该在主域名中找到“www”,然后是分别包含不同TLD的子域名。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^subdomain\.mysite\.([^.]+)$ [NC]
RewriteCond %1 !com
RewriteRule ^(.*)$ http://subdomain.mysite.com/$1 [R=301,L]