在Apache上的虚拟主机文件中,我想要禁用HTTP方法并使用强制https。 mod_rewrite规则和条件如何工作?我在虚拟主机文件中有以下内容。
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(OPTIONS|TRACE)
RewriteRule .* - [F]
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
答案 0 :(得分:0)
对于您提到的要求,您列出的重写似乎是正确的。对于使用OPTIONS或TRACE方法的任何请求,第一个Cond / Rule对返回403 Forbidden。第二个Cond / Rule对将任何http请求重定向到https,并保留原始主机名和URI。
答案 1 :(得分:0)
在“ssl.conf”文件中添加用于禁用HTTP选项方法的mod-rewrite规则解决了这个问题。