需要在 vHost 或 .htaccess 中禁用子子域名

需要在 vHost 或 .htaccess 中禁用子子域名

我的几个客户创建了“A”记录,以将他们网站的子域指向我的服务器。例如,http://subdomain.clientsite.com指向我的IP地址。

这很好。但是,如果我手动插入前缀(例如“www”)以使 URL 看起来像“http://www.subdomain.clientsite.com“它解析为我的网站而不是客户的网站。除了“www”之外,我还可以添加任何内容作为前缀。

禁用“子子域”的最佳方法是什么?似乎可以通过每个客户端的 vHost 文件或通过 .htacess 命令来实现。但是,我不知道最好的方法是什么。

感谢您的想法。

答案1

不确定为什么会出现此问题,但它只针对某些客户端,因此它可能取决于网络主机如何处理“A”记录。

无论如何,我为我的一位客户在 vHost 文件中添加了以下行:

服务器别名 subdomain.clientsite.tld *.subdomain.clientsite.tld

似乎成功了。这个想法来自这个链接:http://www-01.ibm.com/software/webservers/httpservers/doc/v1326/manual/vhosts/name-based.html

答案2

我可以想象客户可能会有以下形式的 A 记录:

subdomain.example.com.251 在 10.9.8.7

我不明白为什么 www.subdomain.example.com 会自动解析为同一个 IP,除非您为每个子域都设置了 CNAME。但是您说 anything.subdomain.example.com 的行为都是这样的,所以我不明白您设置了什么。

使用重写规则将 www.something.com 重定向到 something.com 并不罕见 - 例如在 Apache 中,您可以执行以下操作:

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

这会导致流量从 www.something.com 发送到 something.com,这通常是为了搜索引擎优化的目的。

相关内容