繁体   English   中英

我是否需要修改这个mod重写代码,如果我添加SSL证书到我的服务器?

[英]Do I need to modify this mod-rewrite code if I add an SSL certificate to my server?

这是我去年提出的有关设置mod-rewrites的问题的后续措施: http : //bit.ly/h8PVd9

我的服务器上有以下mod-rewrite,它强制所有流量使用完整的URL( 出于这个问题,我将使用www.mysite.com )。 运行正常,没有问题:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^dev\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

所以,这一切都很好,但我需要一个SSL添加到服务器,覆盖域www.mysite.com。 什么(如果有的话)修改/例外,我需要添加到我的预先存在的重写代码,以确保到https任何来电://www.mysite.com不会被重定向到http://www.mysite.com? 我是否需要修改任何内容?

我不是重写专家,但是我认为下面的方法可以工作。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^dev\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

经过我的虚拟主机的测试和咨询之后,此问题的答案如下:

RewriteCond %{HTTPS_HOST} ^mysite.com [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [R=301,L]

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

第一条规则将所有https请求处理到服务器,并允许它们通过而无需被我的原始规则重定向。 第二个是重写我的原始规则,并解决了无论用户输入什么内容而强制使用www.mysite.com的问题。

@Paul-您在这一点上非常接近,但是通过我现有的重​​写,此解决方案可以解决这两个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM