如何给一个ip地址的http请求给404错误

我有一个相当基本的问题。 请耐心等待我

举个例子,假设我在一台IP地址为“1.2.3.4”的服务器上托pipe“www.example.com”和“www.another-example.com”。

这将是一个典型的Apacheconfiguration:

Listen 80 NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com # Other directives here </VirtualHost> <VirtualHost *:80> ServerName www.another-example.com # Other directives here </VirtualHost> 

如何在不阻止服务器上的所有网站的情况下将请求的404错误代码返回到“ http://1.2.3.4 ”?

你可以请包括一个我应该使用的Apacheconfiguration指令的例子吗?

第一个虚拟主机定义将被用作“全部捕获”,以防Apache中的域名不为人知。

我知道2个解决scheme:

  1. 再创build一个指向空文件夹的<VirtualHost> ,并将其列在所有其他虚拟主机定义之上。

  2. 如果%{HTTP_HOST}是IP地址,则使用mod_rewrite在第一个虚拟主机中创build规则以返回404响应。

方法#1更合乎逻辑并被广泛使用。 方法#2我不会使用,除非在特殊情况下。

第一个定义的虚拟主机将回答裸IP地址的查询。 您也可以为IP地址本身添加一个已命名的虚拟主机,并将其指向一个您想要返回的目录。