我想将所有不安全的URL重定向到HTTPS,除了包含各种参数的自定义URL。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/code-validator/?code=
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
因此,http://example.com/code-validator/?code=123或此URL上的任何参数都不会重定向到HTTPS。
使用THE_REQUEST
而不是REQUEST_URI
能够:
REQUEST_URI
仅匹配URI而没有查询字符串您的规则可以是:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} !/code-validator/\?code= [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
确保将此规则作为最重要的规则,并清除旧的浏览器缓存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句