禁用直接IP访问使用.htaccess

时间:2013-06-16 14:23:24

标签: windows apache .htaccess redirect rewrite

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

直接访问任何网络目录文件(IP访问而不是域名),他得到一个真正的404未找到错误,而不是一个伪造的错误..

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

P.S。我在Windows上使用Apache。

我搜索并找到了类似的东西:

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

它没有按预期工作。

谢谢..

2 个答案:

答案 0 :(得分:0)

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

这会产生您期望的结果 - 但需要控制整个Apache配置而不仅仅是htaccess文件。

答案 1 :(得分:0)

删除第一个RewriteCond指令,然后重试。只有当主机名中至少有一个字符时,RewriteCond %{HTTP_HOST} .才会激活你的RewriteRule,这正是你想要的。