Apache 重写语法

Apache 重写语法

尝试阻止 Google 机器人和其他程序访问我的某些网站。问题是,我有一个盒子,里面有大量虚拟主机文件,这些文件除了代理传递到其他服务器之外什么都不做。我想阻止 googlebot,并避免必须转到每个单独的.htaccess文件。我相信您可以在 apache2.conf (httpd.conf) 中执行此操作,但我相信语法可能存在一些差异。例如,我知道如果我将其粘贴在我的.htaccess:中,这将有效

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} googlebot [NC] 
RewriteRule .* - [F,L] 

</IfModule>

但它似乎在 apache2 中不起作用。确切的语法是什么?

robots.txt并且.htaccess不是一种选择。是的,我知道这种设置听起来很愚蠢,因为它确实如此。我刚刚继承了它。

答案1

在服务器范围上下文中定义的重写规则不会自动在虚拟服务器上下文中继承。您需要将其添加到每个虚拟主机:

RewriteOptions Inherit

看:http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriteoptions

相关内容