首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试强制WWW和HTPS,但我的三条规则中只有两条有效

尝试强制WWW和HTPS,但我的三条规则中只有两条有效
EN

Stack Overflow用户
提问于 2019-05-04 07:04:05
回答 1查看 45关注 0票数 0

对我不起作用。我做错了什么,我得到了可怕的太多重定向错误。我正在尝试将我的所有urls强制为WWW和https

代码语言:javascript
复制
RewriteEngine on
RewriteBase /

RewriteCond %{http_host} ^all-service-musical.com [nc]
RewriteRule ^(.*)$ https://www.all-service-musical.com/$1 [r=301,nc]

RewriteCond %{http_host} ^asmusic.org [nc]
RewriteRule ^(.*)$ https://www.all-service-musical.com/$1 [r=301]

RewriteCond %{http_host} ^www.all-service-musical.com [nc]
RewriteRule ^(.*)$ https://www.all-service-musical.com/$1 [r=301,nc]

前两条规则配合得很好,但第三条规则试图将www url改为https,这就破坏了整个规则……有什么想法吗?

我还尝试删除上述所有代码,并尝试通过使用以下命令来完成任务的http to https部分:

代码语言:javascript
复制
#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

当我使用这种方法时,我也得到了一个太多重定向的错误

2019年5月7日..好吧,还没有找到解决方案,但现在可以通过使用重写规则将所有内容定向到非WWW版本来解决这个问题。也许有一天有人会发布这个问题的一个可能的解决方案,我会把WWW添加回来。我尝试的主要原因是来自搜索的google链接指向WWW版本,它们出现在不安全的地方,而非WWW版本出现在安全的地方。

EN

回答 1

Stack Overflow用户

发布于 2019-07-06 00:37:34

好的..。2个月后我有了一个解决方案

代码语言:javascript
复制
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^all-service-musical.com$ [NC]
    RewriteRule (.*) http://www.all-service-musical.com/$1 [R=302,L]
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^/?(.*)  https://www.all-service-musical.com/$1 [L,R,NE]

请注意,在第一个规则中,我转发到http而不是https,以避免在处理第二个规则时可能出现无休止的重定向。可能也适用于https,但我认为我应该做得足够好,因为在这一点上我有一个有效的规则。-再次使用网络解决方案作为我的主机,因此其中一些可能与他们的系统相关。

希望这些信息能为其他人节省一点时间和烦恼。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55978026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档