我想在强制https和www的同时尽量减少重定向。
试图获得......
http://example.com
......直奔......
https://www.example.com
...在一个重定向中。不是三,二,甚至是我在一个阶段的19!我坚持为www重定向一次。位,然后是https位的另一个重定向。
目前在我的.htacess中有这个:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301]
我即将承认失败,感觉不可能将两个规则合并为一个......但后来我发现Amazon.com实现了它!想知道怎么样?这是否涉及在.htacess之外做某事?
Screenshot of Amazon.com and their straight-to-the-point redirect
答案 0 :(得分:0)
尝试这样,
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
答案 1 :(得分:0)
要在一次重定向中强制使用https和www,您可以使用
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www [OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]