子域名重定向
我希望写在.htaccess规则重定向子域名重定向
http://www.dir.domain.com
http://dir.domain.com
http://www.domain.com/dir
这些应该重定向到提前
http://domain.com/dir
谢谢...
这里的技巧是使用.htaccess
file DOCROOT
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中类似
它不重定向... – HDTV 2012-02-25 18:42:02
> RewriteCond%{HTTP_HOST}^www.dir.domain.com [NC] > RewriteRule ^(。*)$ http://domain.com/dir/$1 [L,R = 301] > RewriteCond%{HTTP_HOST}^dir.domain.com [NC] > RewriteRule ^(。*)$ http://domain.com/dir/$1 [L,R = 301]> RewriteCond%{ HTTP_HOST}^dir.domain.com [NC] > RewriteRule ^(。*)$ http://domain.com/dir/$1 [L,R = 301]>如果我将此代码添加到/dir/.htaccess那么它会将[http://dir.domain.com] > [http://www.domain.com/dir]重定向到[http://domain.com/dir]>,但它不会重定向[ http://www.dir.domain.com] @TerryE – HDTV 2012-02-25 19:04:54
@HDTV,注意Cond1的调整 - 也编辑你的Q来添加这样的信息。 – TerryE 2012-02-25 19:14:54
你可以试试:
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 ....
请给出详细的答案 – 2016-05-07 13:14:48
你现在有一个'* .domain.com'的catchall重定向到你的DOCROOT的'domain.com'吗?你有什么类型的服务? VPS或共享服务,如果后者是cPanel或webadmin启用。你所问的是可行的,但答案因你告诉我们的情况而异。 – TerryE 2012-02-25 17:37:31
我在共享服务中有一个域和一个子域。这里即时谈论我的子域。 – HDTV 2012-02-25 18:13:54