如何使用.htaccess 301重定向特定的子域名URL?

时间:2012-03-23 19:06:43

标签: apache .htaccess mod-rewrite redirect

我需要将子域上的特定网址重定向到不同子域上的完全不同的网址。例如:

http://foo.example.com/this-is-my-page

需要301来:

http://bar.example.com/this-is-really-my-page

我已尝试在Redirect 301中设置一个简单的.htaccess,但似乎无效。例如:

Redirect 301 http://foo.example.com/this-is-my-page http://bar.example.com/this-is-really-my-page

3 个答案:

答案 0 :(得分:3)

试试这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
RewriteRule ^(.*) http://newsub.domain.com/ [L,R]

它在我这边工作

答案 1 :(得分:2)

这是我最终做的事情:

# first re-write all foo.example.com requests to bar.example.com
RewriteCond %{HTTP_HOST} ^foo\.example\.com [NC]
RewriteRule (.*) http://bar.example.com/$1 [L,R=301]

# now re-write each individual URL
RewriteRule ^this-is-mypage /this-is-really-my-page [NC,L,R=301]

答案 2 :(得分:0)

如果你想要这样的东西:

http://foo.example.com/this-is-my-page 

http://bar.example.com/this-is-really-my-page

但是http://foo.example.com/mypage必须回复没有重定向

可能吗??

因为:

# first re-write all foo.example.com requests to bar.example.com
RewriteCond %{HTTP_HOST} ^foo\.example\.com [NC]
RewriteRule (.*) http://bar.example.com/$1 [L,R=301]

# now re-write each individual URL
RewriteRule ^this-is-mypage /this-is-really-my-page [NC,L,R=301]

无效