我有以下问题:
我尝试了以下.htaccess,但它无法正常工作:
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTPS} !=on
RewriteRule ^formulario-(.*) http://%{HTTP_HOST}%{REQUEST_URI}
感谢您的帮助!
答案 0 :(得分:1)
究竟什么不起作用?
我想到的一件事是:尝试使用[L] flag作为第一条规则,以便在第一条规则适用时,apache会停止处理第二条规则。
我不确定是不是。您可能需要一些方法来测试用户之前是否已经重定向。
答案 1 :(得分:1)
未经测试,但一般的想法是:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule formulario- https://%{HTTP_HOST}%{REQUEST_URI} [R,L,QSA]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !formulario-
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R,L,QSA]
理论是你不能否定RewriteRule
,但你可以否定RewriteCond
。