【问题标题】:Apache Remove WWW from https://www.domain.comApache 从 https://www.domain.com 删除 WWW
【发布时间】:2015-12-16 04:05:16
【问题描述】:

有没有办法重定向:

https://www.domain.com

收件人:

https://domain.com

我已经尝试了一些提供的解决方案,但它们只有在用户在地址字段中输入 www.doamin.com 时才有效,一旦他们输入 https://www.domain.com 它就不起作用。我在 Chrome 中收到“您的连接不是私有的”错误消息,并且 https 被划掉,因为我们的 SSL 是为 domain.com 而不是 www.domain.com 注册的。

我在 htaccess 中尝试了以下操作,但如果用户仅在输入 www.domain.com 时输入https://www.domain.com,它就不起作用:

# Remove www from the URL.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]

我在我的虚拟主机条目中也尝试了以下方法,但结果与上面相同:

Redirect permanent / https://domain.com/

感谢您的帮助。

【问题讨论】:

  • 再多的重定向都不会改变您的 SSL 证书中的名称与初始浏览器请求中的名称不匹配的事实。

标签: apache .htaccess redirect web rewrite


【解决方案1】:

澄清安德鲁斯的评论。连接 HTTPS 服务时,在将域名传递给服务器之前协商加密。

如果您的证书是针对 domain.com 的,那么在将域发送到服务器并由您的重写规则重定向之前,任何访问者都会在 SSL 协商阶段收到不安全的警告消息。

解决方案是获取涵盖 www.domain.com 和 domain.com 的 SAN(主题备用名称)证书。

【讨论】:

  • 当我首先不想让 WWW 出现时,我为什么要为 www.domain.com 购买 SAN?除非,如果用户在 URL 中输入 https,则无法删除 WWW。
  • 您可以删除 WWW。它与 HTTPS 无关。据我了解,当用户访问以 WWW 开头的错误域并且您想将其删除时,就会出现 WWW。 SAN 证书允许这种情况发生,而无需首先向用户生成有关证书的警告。只要“永久重定向/domain.com”在您的 htaccess 文件中,它就应该可以工作。
猜你喜欢
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
相关资源
最近更新 更多