使用 SSL 避免登录页面重定向
Posted
技术标签:
【中文标题】使用 SSL 避免登录页面重定向【英文标题】:Avoiding Landing Page Redirects with SSL 【发布时间】:2014-12-02 01:46:37 【问题描述】:我最近对我的网站进行了 Google PageSpeed 分析并收到以下消息:
避免着陆页重定向
您的页面有 2 个重定向。重定向引入了额外的延迟 在页面加载之前。
避免以下重定向链的着陆页重定向 网址。
http://example.net/
https://example.net/
https://www.example.net/
对此我能做些什么(比如以某种方式修改我的 htaccess 文件),或者这是一个不可避免的后果?
这是我的 htaccess 以防万一:
RewriteCond %HTTPS off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule ^(.*)$ https://%HTTP_HOST%REQUEST_URI [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %HTTP_HOST !^www\.
RewriteRule ^(.*)$ https://www.%HTTP_HOST%REQUEST_URI [L,R=301]
【问题讨论】:
【参考方案1】:您可以使用OR
标志将两个重定向合二为一
RewriteCond %HTTPS off [OR]
RewriteCond %HTTP_HOST !^www\. [NC]
RewriteCond %HTTP_HOST ^(www\.)?(.*)$ [NC]
RewriteRule ^ https://www.%HTTP_HOST%REQUEST_URI [L,R=301]
【讨论】:
谢谢。这应该解决上述 PageSpeed 投诉,还是只是您建议的一般优化? @JohnRoberts 没有办法避免着陆页重定向,因为您想强制执行“www”和“https://”方案,但至少这只是 1 个重定向而不是 2 个。以上是关于使用 SSL 避免登录页面重定向的主要内容,如果未能解决你的问题,请参考以下文章
当用户在 JSF 中注销后单击后退按钮时重定向到登录页面 [重复]