我正在使用 Apache 2.2。现在,我做了一些更改:如果我的端口上有任何请求,我想发回 http 状态代码 404。
现在我的 Apache 服务器上运行着 3 个端口:8808,8809,8810
.如果请求来自第三个端口,我想发送回用户404 http status code
。
目前我有这个httpd.conf
RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"
现在,如果请求进入特定端口,我该如何为该端口执行此操作?
答案1
我认为这适用于虚拟主机:
<VirtualHost *:8808>
RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"
</VirtualHost>
显然,对其他端口重复此操作。
请注意,如果您的 apache 配置中已经有某个<VirtualHost *:*>
或某些内容,则需要更改它 - 否则它也对该端口有效,并且您将拥有重叠的虚拟主机(这几乎肯定不会做)你想要什么)。
答案2
为所有端口创建虚拟主机:
<VirtualHost *:8808>
some directives here
</VirtualHost>
<VirtualHost *:8809>
some directives there
</VirtualHost>
<VirtualHost *:8810>
RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"
</VirtualHost>
看一看这里有关更多相关信息,它也可能有帮助。