避免多个页面重定向 http://example.com > https://example.com -> https://www.example.com



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

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]

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

我无休止地搜索Stack溢出(以及其他地方(,但没有其他选择可以将所有内容与条件组合在一个语句中,并使其比当前的解决方案更快。

我真的很感激你的真知灼见!

将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

相关内容

最新更新