重定向链问题

时间:2018-01-09 11:20:49

标签: .htaccess url-redirection

我正在尝试重定向我网站中每个网页的所有流量

http://url.com https://url.com

http://www.url.com https://url.com

https://www.url.com https://url.com

所以,我正在将此代码用于.htaccess

RewriteEngine On
RewriteBase /

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

但我有一个重定向链问题,例如:

301 http://www.url.com/page.html→ 301 https://www.url.com/page.html→ 301 http://url.com/page.html→ 200 https://url.com/page.html

有什么帮助来解决这个重定向问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

这是解决重定向问题的最佳代码。

重定向所有http和所有www。 https非www

RewriteCond %{HTTPS} !^on [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://url.com/$1 [R=301,L]