繁体   English   中英

Avoid multiple page redirects http://example.com > https://example.com -> https://www.example.com

[英]Avoid multiple page redirects http://example.com > https://example.com -> https://www.example.com

如果用户键入 domain.com,GTMetrix 和 Google Pagespeed Insights 报告说,我的网站由于多个页面重定向而变慢:

URL:                       TIME SPENT:
http://example.com/        285ms
https://example.com/       452ms
https://www.example.com    0ms

我试图只获得一个(有条件的?)重定向,它总是会出现在 https 和 www 子域中。

这是当前的 htaccess 代码:

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]

它有效,但是有没有人痴迷于速度,可以帮助它更快地进入一个重写条件?

我在堆栈溢出(和其他地方)进行了无休止的搜索,但没有其他选择可以将一条语句中的所有内容与条件结合起来,并使其比目前的解决方案更快。

我真的很感激你的见解!

将 R 标志更改为 301:

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R=301]

因为默认情况下,它是一个 302(临时)重定向,您可以避免很多重定向。 http://httpd.apache.org/docs/current/rewrite/flags.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM