我的要求如下:
我已尝试过Stack Overflow上列出的一些解决方案,但似乎都没有。
这是我的htaccess文件的相关部分:
#force https for certain pages
RewriteCond %{HTTPS} !=on
RewriteRule ^(login2\-test\.php.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
#redirect all pages to www
RewriteCond %{HTTPS} !=off
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
将所有页面重定向到www都可以正常工作。但是,login2-test?switch = ftr(在reg /子目录中)到https的重定向导致不匹配,因此使用http显示页面。
我已按如下方式重写该行:
RewriteRule ^(reg\/)(login2\-test\.php.*)$ https:www.domain.com/$1$2 [L,R]
这至少匹配/重定向到https,但是浏览器无法解析它。
我已经交换了规则的顺序(例如,首先是www重定向);那没有用。
我会感激任何帮助 - 我现在已经在这方面苦苦挣扎了一段时间。
答案 0 :(得分:0)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]