Php 在url前面强制使用https和www时避免许多重定向
我有一个网站,我正在部署到启用https的服务器上。因此,我的客户要求如下: 强制https。 将www保留在url中,以便获得url,而不是强制3W。 我在.htaccess文件上使用此规则是为了获得所需的效果:Php 在url前面强制使用https和www时避免许多重定向,php,apache,.htaccess,redirect,nginx,Php,Apache,.htaccess,Redirect,Nginx,我有一个网站,我正在部署到启用https的服务器上。因此,我的客户要求如下: 强制https。 将www保留在url中,以便获得url,而不是强制3W。 我在.htaccess文件上使用此规则是为了获得所需的效果: RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/es/$1/ [R=301,L] 但是当使用测试页面速度时,我得到的服务器响应时间很差,只有1s。使用Chrome开发者工具进行
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/es/$1/ [R=301,L]
但是当使用测试页面速度时,我得到的服务器响应时间很差,只有1s。使用Chrome开发者工具进行调试,我发现网站在最后一次重定向后的响应时间大约为300毫秒,因此,重定向增加了响应时间
所以,我的问题是,如何在最小化重定向的同时,在url前面强制使用https和www?尝试这样做: 强制SSL:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
警队网页:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
您可以使用以下规则,这些规则将在您的URL中附加www和https
RewriteEngine On
# Ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Ensure https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]