RewriteCond %{HTTPS} off
RewriteRule ^quote.php$ https://domain.com/quote.php [R=301,L,QSA]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/quote.php
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L,QSA]
回复评论:
要向条件添加新页面,只需将它们放在括号中。例如:
RewriteCond %{HTTPS} off
RewriteRule ^(quote|contact).php$ https://domain.com/$1.php [R=301,L,QSA]
问题2:QSA
标志将当前查询字符串添加到新 URL。默认情况下会发生这种情况,除非您更改查询字符串。您现在可以安全地删除它们,但如果您添加了查询字符串,并且还想要旧的查询字符串,请将其放回去。
Edit 2:
上面的代码有一点安全问题:(,实际上它不仅仅是一点:-D。
当你使用时https
传输html代码和页面是使用相对路径,所以没问题。但是当你把这些代码放入.htaccess
他们变成http
这就是问题所在:-)。输入下面的代码来解决问题:):
RewriteCond %{HTTPS} off
RewriteRule ^(quote|contact).php$ https://domain.com/$1.php [R=301,L,QSA]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/(quote|contact).php
RewriteCond %{REQUEST_URI} !^/(.*)\.(css|png|js|jpe?g|gif|bmp)$
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L,QSA]
现在,您在安全页面上使用的所有图像、脚本等都可以安全传输。