我在 Ubuntu 10.10 上安装了相当默认的 Apache。没有虚拟主机,我宁愿不添加它。因此,映射到该机器的所有域都由默认站点和同一目录提供服务。
我想要的是特定目录中的 .htaccess 文件,以禁止特定域访问该目录。
需要澄清的是,xxx.foo.com/thefile.html 给出 403(或其他任何结果),但任何其他子域或域都允许访问该文件。
答案1
您可以尝试类似的方法(未经测试,而且重写对我来说第一次似乎总是不起作用):
RewriteCond %{HTTP_HOST} ^xxx.foo.com
RewriteRule ^/thefile.html$ [FL]
这应该会导致一个文件在匹配的域上被返回为“禁止”。这RewriteLog filename.log
有助于调试重写。请参阅官方文档有关重写的更多信息。
答案2
如果没有 vHosting,您就无法做到这一点。如果您能等到东部时间下午 4 点,我会给您代码。我现在不在我的服务器附近。