我有一个位于反向代理后面的网站..我想使用.htaccess文件来执行以下操作:
直接访问任何网络目录文件(IP访问而不是域名),他得到一个真正的404未找到错误,而不是一个伪造的错误..
另外,如果可能的话,我想将某些IP列入白名单,这样他们就可以通过直接IP连接(无需域名)自由浏览网站。
P.S。我在Windows上使用Apache。
我搜索并找到了类似的东西:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domainname\.com$
RewriteRule (.*) - [F]
它没有按预期工作。
谢谢..
答案 0 :(得分:0)
您可以将主配置添加为仅在指定域上侦听的命名虚拟主机。如果您这样做,您的“默认”Apache配置可用于始终提供404页面。
这会产生您期望的结果 - 但需要控制整个Apache配置而不仅仅是htaccess文件。
答案 1 :(得分:0)
删除第一个RewriteCond
指令,然后重试。只有当主机名中至少有一个字符时,RewriteCond %{HTTP_HOST} .
才会激活你的RewriteRule,这正是你想要的。