究竟在httpd.conf中使用这段代码?

时间:2014-09-26 19:36:50

标签: apache httpd.conf

我有一个列表,我从以前的安装中保存,我已将其标记为“停止自动化工具”,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Accept} ^$ [OR]
RewriteCond %{HTTP:Accept-Language} ^$ [OR]
RewriteCond %{HTTP:Accept-Encoding} ^$ [OR]
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteCond %{REQUEST_METHOD} ^(POST)
RewriteRule .* - [R=400]
</IfModule> 

有人可以刷新我应该使用此文件的位置,如果可能的话,也可以刷新规则吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

这是一个mod_rewrite declaration,它可以在httpd.conf配置文件的目录指令中找到,也可以将它放在网站本身的.htaccess文件中,如果你想在不使用的情况下进行更改SSH进入框中。

<Directory /website/root>

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:Accept} ^$ [OR]
    RewriteCond %{HTTP:Accept-Language} ^$ [OR]
    RewriteCond %{HTTP:Accept-Encoding} ^$ [OR]
    RewriteCond %{HTTP_REFERER} ^$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteCond %{REQUEST_METHOD} ^(POST)
    RewriteRule .* - [R=400]
    </IfModule> 

</Directory>

<强>更新 根据您关于规则的作用的问题,您正在寻找空(例如^ $)HTTP headers and connection requests。如果您检查的任何变量为空,则系统将使用错误代码400 (Bad Request)使请求失败。

对于配置文件中适用的各种网站,代码将进入directory directives,无论是vhost包含还是常规httpd.conf文件。