0

我有一个位于反向代理后面的网站..我想使用 .htaccess 文件来执行以下操作:

如果直接访问任何 Web 目录文件(IP 访问而不是域),他会得到一个真正的 404 未找到错误,而不是虚构的。

另外,如果可能的话,我想将某些IP列入白名单,这样他们就可以通过直接IP连接(无需域)自由浏览网站。

ps 我在 Windows 上使用 Apache。

我搜索并发现了类似的东西:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domainname\.com$
RewriteRule (.*) -  [F]

它没有按预期工作。

谢谢..

4

2 回答 2

0

您可以将您的主要配置添加为仅在指定域上侦听的命名虚拟主机。如果您这样做,您的“默认”Apache 配置可用于始终提供 404 页面。

这将给出您期望的结果 - 但需要控制整个 Apache 配置,而不仅仅是 htaccess 文件。

于 2013-06-16T14:28:51.017 回答
0

删除第一个RewriteCond指令并重试。RewriteCond %{HTTP_HOST} .仅当主机名中至少有一个字符时,您的 RewriteRule 才会触发,这完全不是您想要的。

于 2013-06-16T14:42:30.857 回答