.htaccess 正在删除子域的带有htaccess文件的www

.htaccess 正在删除子域的带有htaccess文件的www,.htaccess,.htaccess,我有各种各样的站点,它们都是子域特定的站点。 等等 用户偶尔会抱怨网站不工作,然后我发现他们去了 或和遇到某种类型的服务器错误页 我需要使用什么样的htaccess魔法-> 谢谢 *fwiw我在提问之前搜索了前面的问题,但没有找到我的答案如果VHost确实指向www.sub.domain.com和sub.domain.com的同一docroot,您可以在doc root中放置一个包含以下内容的.htaccess文件: RewriteEngine On RewriteCond %{HTTP_HOS

我有各种各样的站点,它们都是子域特定的站点。 等等

用户偶尔会抱怨网站不工作,然后我发现他们去了 或和遇到某种类型的服务器错误页

我需要使用什么样的htaccess魔法->

谢谢


*fwiw我在提问之前搜索了前面的问题,但没有找到我的答案

如果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]

这是未从顶部测试的。

您确定这是“排序的服务器错误页”而不是“排序的主机未找到错误页”吗?如果原始网站超时,某些浏览器将重定向到
www.\1
。如果超时是偶然的,但浏览器缓存需要重定向,这是很不幸的。然后你的服务器将客户端从www重定向到常规,浏览器开始来回跳转:(@roman它实际上是一个“服务器默认页”我不确定www.sub.domain.com现在指向什么..当我去那里时,我会得到一个“服务器默认页”…理想情况下它会重定向到sub.domain.com(所以我想我在寻找更多的重定向,而不仅仅是url重写)我的答案已经是重定向(http状态码301-永久移动)太棒了。最后一件事,我不确定你的代码是否已经考虑到了这一点。但子域应该是通配符(是这样吗?),因为我有多个子域。。。