Apache防止默认服务器名称

Gue*_*ser 1 apache

由于某些原因,即使我的httpd.conf文件中没有任何通配符条目,我的主机使用的域名也显示在我的网站的Google搜索结果中

我有

NameVirtualHost 78.45.45.67:80
Run Code Online (Sandbox Code Playgroud)

<VirtualHost 78.45.45.676:80>
DocumentRoot /home/mysite/public_html
ServerName www.mysite.com
ServerAlias mysite.com
ErrorLog /var/log/httpd/error_log
ErrorLog /var/log/httpd/error_log

Options ExecCGI


RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但该网站可以从myserver.myhostingcomany.com访问

lar*_*sks 5

Apache将使用第一个<VirtualHost>块来响应不与另一个VirtualHost块匹配的请求.因此,如果您想让您的网站无法访问myserver.myhostingcompany.com,请为其明确输入:

<VirtualHost 78.45.45.676:80>
  ServerName myserver.myhostingcomany.com

  <Location />
    Order allow,deny
    Deny from all
  </Location>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果您输入之前放置www.mysite.com它,它将用于满足与任何www.mysite.com或不匹配的任何主机名的请求mysite.com.