我有以下 CNAME 记录:pear.example.com
然后我有一个 VirtualHost 条目:
<VirtualHost *:80>
ServerName pear.example.com
DocumentRoot /var/www/pearsite
<Directory /var/www/pearsite>
AllowOverride All
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
我不想/var/www/pearsite
向输入 example.com 的人显示。example.com 应该显示禁止。
有没有什么办法可以用 Apache 实现这个目标?
答案1
当然 - 您会希望将不同的虚拟主机作为默认主机,并让其提供 403 服务。
# This might already be present in your config, add it if not:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName catchall
<Location />
Order allow,deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName pear.example.com
# your existing config..
</VirtualHost>
在实际定义之前定义 403 错误将导致它被用作与其他虚拟主机的主机名不匹配的请求的默认值。