301重定向到非www ssl版本与多站点/共享主机



我有一个与Godaddy.com共享的托管帐户,我用它来托管五个不同的网站(site1.com, site2.com…site5.com)。我想在/目录中放置一个。htaccess文件,使所有五个不同的网站重定向到每个网站的非www和ssl版本。

现在我在我的。htaccess文件中有以下内容:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site1.com
RewriteRule (.*) https://site1.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site2.com
RewriteRule (.*) https://site2.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site3.com
RewriteRule (.*) https://site3.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site4.com
RewriteRule (.*) https://site4.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site5.com
RewriteRule (.*) https://site5.com/$1 [R=301,L]

设置站点的目录结构,使site1的index.html位于/public_html/index.html

另外四个站点的索引文件位于:/public_html/网站[#]/index . html有四个不同的目录[site#] (site2/site3/site4/site5/)

当我在浏览器中输入网址2-4的www版本时,服务器自动重定向到https版本:

网站# .com/other_sites/site #。com

我希望它如果每个网站重定向到ssl,即使访问者不进入网站的www版本。我知道我需要一个额外的RewriteCond和RewriteRule,但不知道使用什么代码。

我只是学习RegEx和服务器配置,所以任何帮助将非常感激。

您可以使用:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

最新更新