【问题标题】:.htaccess force redirect of https://www to https:// not working.htaccess 强制将 https://www 重定向到 https:// 不起作用
【发布时间】:2016-05-24 04:43:24
【问题描述】:

我知道有很多关于这个问题的帖子,但我一辈子都无法让它发挥作用。

非 https www 或非 www 重定向工作正常,但我无法让 https://www 重定向工作而没有收到不受信任的证书警告。

我的 .htaccess 文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://arfcc.com/$1 [R=301,L]

我已清除缓存并重新测试无济于事。

有什么想法吗?

谢谢!

【问题讨论】:

  • 你知道有很多这样的帖子在哪里?希望不要在 stackoverflow 上,因为它在这里无关紧要。也许您的意思是发帖到serverfault.com
  • 您的证书是否仅适用于 https://www example.net,而不适用于 https://example.net?
  • 非常仅适用于非 www 域。为什么这个问题不属于这里?我过去在这里发布了几个关于代码的问题。我错了吗?

标签: wordpress apache .htaccess redirect


【解决方案1】:

这是一个常见的 catch-22。您需要重定向到正确的主机名以匹配您的 SSL 证书,但是,必须在执行任何重写之前建立 SSL 握手。在 SSL 握手和 tcp 连接建立之前,大部分网络服务器的配置都不可用...包括重写。

最常见的方法是使用通配符和/或 SAN 证书来容纳多个主机名。

你可以找到很多关于这个的文章,但是下面的还是不错的:

http://www.jasonsamuel.com/2011/03/07/how-to-properly-use-ssl-redirects-without-getting-certificate-error-messages/

【讨论】:

  • 这是迄今为止最明确的答案。我认为这可能是类似的东西。我有 SAN 证书,我将添加其他名称。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 2022-01-11
  • 2017-06-21
  • 1970-01-01
  • 2018-10-24
  • 2018-08-20
  • 2019-09-08
相关资源
最近更新 更多