我试图强制任何常规的http请求重定向到https,并强制在网址中使用非www,以便最后的每个请求都是https://example.com
http://example.com变为https://example.com
http://www.example.com变为https://example.com
https://www.example.com变为https://example.com
http://example.com变为https://example.com
我的htaccess文件中有以下代码。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
但是我收到的错误表明它有太多的重定向。它似乎在这个测试网站上运行正常,输出正确:
任何想法或更好的方法吗?
答案 0 :(得分:0)
以下代码可以帮助您:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,NE,R=301]
它会将所有内容重定向到https://example.com