.htaccess 如何使用htaccess将所有页面从www重定向到非www,以及从http重定向到https?

.htaccess 如何使用htaccess将所有页面从www重定向到非www,以及从http重定向到https?,.htaccess,redirect,.htaccess,Redirect,我已经能够分别找到这些重定向的解决方案,但我无法找到同时正确执行这两种重定向的方法 我需要网站重定向至: http://somesite.com.au to https://somesite.com.au http://www.somesite.com.au to https://somesite.com.au https://www.somesite.com.au to https://somesite.com.au 我遇到的主要问题是: https://www.somesite.com.a

我已经能够分别找到这些重定向的解决方案,但我无法找到同时正确执行这两种重定向的方法

我需要网站重定向至:

http://somesite.com.au to https://somesite.com.au
http://www.somesite.com.au to https://somesite.com.au
https://www.somesite.com.au to https://somesite.com.au
我遇到的主要问题是:

https://www.somesite.com.au to https://somesite.com.au
目前,我在htaccess文件中使用以下内容:

# .htaccess main domain to subdirectory redirect 
# Do not change this line. 
RewriteEngine on

# Ensure we are using HTTPS version of the site.
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect www to non-ww
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

我应该在我的htaccess中使用什么来实现此功能?

您正在导致循环,因为您的
www
规则重定向到
http://
。只需将其改为重定向到https://:

# Redirect www to non-ww
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

我刚刚尝试了这个,它从http重定向到https ok,但从http www重定向到httpswww@kezzman11你还有你的另一条规则,对吗?清除了浏览器的缓存?是的,我遵守了另一条规则,也清除了缓存。我也在不同的浏览器上尝试过,但还是没有成功。奇怪的是,我昨天在某个阶段使用了正确的重定向组合,但今天早上它又不起作用了。我找不到一个有效的解决方案,所以我正在重新颁发SSL证书,如果用户访问www版本,他们将留在那里。谢谢您的帮助。@kezz在它被重定向到
https://www
另一条规则应得到应用,您将再次从www重定向到no www。