使用htaccess文件删除子域名的www

时间:2011-10-25 19:10:49

标签: .htaccess

我有各种子网站特定网站。 http://sub.domain.com http://apple.domain.com

用户偶尔抱怨该网站无法运行,然后我发现他们去了 http://www.sub.domain.comhttp://www.apple.domain.com并遇到了各种服务器错误页面

我需要转向什么样的htaccess魔法http://www.sub.domain.com - > http://sub.domain.com

感谢

* fwiw我在询问之前确实搜索过以前的问题而没有找到我的答案

1 个答案:

答案 0 :(得分:11)

如果VHost确实指向www.sub.domain.com和sub.domain.com的同一docroot,您可以在doc-root中放置一个带有以下内容的.htaccess文件:

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

这会将指向此docroot的所有域重定向到sub.domain.com

修改

对于单个.htaccess文件中的多个子域:

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

这是从头顶未经测试的。