禁用HTTP方法并在Apache中使用强制HTTP和mod_rewrite

时间:2016-01-20 07:33:09

标签: apache .htaccess mod-rewrite httpd.conf

在Apache上的虚拟主机文件中,我想要禁用HTTP方法并使用强制https。 mod_rewrite规则和条件如何工作?我在虚拟主机文件中有以下内容。

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(OPTIONS|TRACE)
RewriteRule .* - [F]
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

2 个答案:

答案 0 :(得分:0)

对于您提到的要求,您列出的重写似乎是正确的。对于使用OPTIONS或TRACE方法的任何请求,第一个Cond / Rule对返回403 Forbidden。第二个Cond / Rule对将任何http请求重定向到https,并保留原始主机名和URI。

答案 1 :(得分:0)

在“ssl.conf”文件中添加用于禁用HTTP选项方法的mod-rewrite规则解决了这个问题。