除非请求包含我网站的域名,否则可以使用 htaccess 拒绝所有请求吗?

Can htaccess be used to deny ALL unless the request contains my site's domain name?

查看我网站的日志后,我注意到至少有一半的可疑日志条目是通过服务器的 IP 地址(而不是域名)访问网站的。

我想拒绝访问我的整个网站除非请求包含我网站的域名。例如:

我见过其他示例,这些示例将重写 IP 请求,使其成为实际的域名。然而...出于我的目的,我希望我的 Apache/2.2.24 服务器只显示标准的“403 禁止访问”消息。

您可以尝试在文档根目录中添加 htaccess 文件:

RewriteEngine On
RewriteCond %{HTTP_HOST} !mysite\.com$ [NC]
RewriteRule ^ - [L,F]

另一种选择是通过为 mysite.com 主机创建一个特定的虚拟主机来编辑您的虚拟主机配置文件,然后创建一个默认的虚拟主机(应该是第一个)只有一个

Deny from all

其中。