.htaccess重定向http> https 301 301重定向

时间:2017-10-25 10:17:15

标签: .htaccess ssl redirect https

我最近安装了SSL证书,现在我的整个网站都使用它,没有错误。我已经设置了从http到https的重定向,但意识到它正在使用302重定向。我目前使用以下使用301重定向的代码。

这是对的吗?我可以删除其中的任何部分,还是应该更改其中的任何部分?

RewriteEngine On
RewriteCond %{HTTP_HOST} ^website.com [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301]


RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

感谢您的检查。

1 个答案:

答案 0 :(得分:0)

您的代码的第一部分很奇怪,为什么要在HTTP上重定向所有内容,然后在第二部分的https上重定向:)?

以下是我的示例,它与您的类似,但我不需要每次更改域名,例如,如果您在不同的服务器上使用相同的模式+这会将所有流量从http重定向到https

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/\d+.BIN_AUTOSSL_CHECK_PL__.\w+.tmp$ [NC]
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/.well-known/pki-validation/[A-F0-9]{32}.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{HTTPS} on部分可能不适用于所有Web服务器。例如,我的webhost需要RewriteCond %{HTTP:X-Forwarded-SSL}