子域重定向

时间:2012-02-25 17:24:14

标签: .htaccess

我想在.htaccess中写一个规则来重定向

http://www.dir.domain.com
http://dir.domain.com
http://www.domain.com/dir

这些应该重定向到

http://domain.com/dir

提前致谢...

2 个答案:

答案 0 :(得分:0)

这里的技巧是在DOCROOT中使用.htaccess文件

RewriteEngine on
RewriteBase   /

RewriteCond   %{HTTP_HOST}    ^(www\.)?dir\.domain\.com$
RewriteRule   ^.*             http://domain.com/dir/$0     [R=301,L]

RewriteCond   %{HTTP_HOST}    ^www\.domain\.com$
RewriteRule   ^dir/.*         http://domain.com/$0         [R=301,L]

请注意,这是在执行301重定向 - 即服务器告诉浏览器这是永久重定向,浏览器会缓存此重定向。

您还可以执行内部重定向,通过调整标志在服务器端以静默方式完成此映射。

这假设您的共享服务正在使用Apache,如果它使用IIS,那么您需要执行与web.config类似的操作

答案 1 :(得分:0)

您可以尝试:

RewriteCond %{HTTP_HOST} ^((?!www).+)\.domain\.com$
RewriteRule ^ http://domain.com/%1 [L,NE]

请在您的域名下更改域名,当您输入sub1.domain.com然后它将重定向到domain.com/sub1,当您输入sub2.domain.com然后它将重定向到domain.com/sub2 ...