1

我正在使用以下 .htaccess 文件将我的所有用户从 HTTP 引导到https://www.mysite.com可以正常工作的 HTTP(https://www.始终带有前缀)。

rewriteengine on

rewritecond %{HTTP_HOST} !^www\.
rewriterule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
rewritecond %{HTTPS} !=on
rewriterule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

我的问题是托管在同一主机上的其他辅助域(没有 SSL)正试图转到https://www.myanothersite.com浏览器显示安全错误的位置。禁用这些.htaccess文件会从我的辅助域中删除安全错误,但我的主域不会重定向到https://.

我应该如何重写.htaccess文件,以便我的主域(具有 SSL)解析为https://www.mysite.com,而我在同一主机上的辅助域解析为www.myanothersite.com?(www.应始终在我的辅助域上添加前缀)。

4

1 回答 1

1

用这个替换你的代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

# add www.    
rewritecond %{HTTP_HOST} !^(www|[0-9]+)\. [NC]
rewriterule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# rdirect to https only for primary.com
rewritecond %{HTTPS} !=on
rewritecond %{HTTP_HOST} ^(www\.)?promary\.com$ [NC]
rewriterule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
于 2013-09-26T08:14:38.940 回答