【问题标题】:How To Redirect HTTP to HTTPS (SSL)如何将 HTTP 重定向到 HTTPS (SSL)
【发布时间】:2014-10-10 10:58:28
【问题描述】:

今天我开启了 SSL。

但是我有一个大问题,我不知道如何设置绝对所有子页面永久转移到:https://example.com in htaccess。

所以我想要这一切:

  • http://example.com
  • http://www.example.com

被重定向到https://example.com

喜欢所有子页面(我有 300 个子页面)。

【问题讨论】:

标签: .htaccess mod-rewrite redirect ssl


【解决方案1】:

试试这个,适用于每个域名:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

【讨论】:

  • 这不起作用,请在以下位置执行重定向:https://www.我只有这个 https 的 SSL://
【解决方案2】:

将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [NE,R=301,L]

【讨论】:

  • 现在可以工作了。 com 但它不适用于所有子页面?
  • 您需要确保这条规则是第一条规则。这条规则有RewriteRule ^ https://example.com%{REQUEST_URI} [NE,R=301,L],这意味着它适用于所有页面
  • 我明白,但它不适用于所有子链接(对于某些作品,某些作品不起作用)。
  • 如果您使用http://www.domain.com/foobar.html 进行测试,也会被重定向到https
  • 是的,因为我只留下了之前的评论。 http://www.domain.com/foobar.html 重定向但 http://www.domain.com/index.html 没有。你还有其他规定吗?
猜你喜欢
  • 2012-10-25
  • 2015-01-01
  • 1970-01-01
  • 2012-01-10
  • 2015-08-04
  • 2016-01-15
  • 2015-04-23
  • 2010-09-05
相关资源
最近更新 更多