【问题标题】:Redirect HTTPS to HTP on Apache在 Apache 上将 HTTP 重定向到 HTTP
【发布时间】:2017-05-15 06:01:44
【问题描述】:

我有一个使用 Apache 服务器的虚拟主机帐户。虚拟主机的文件结构使用子文件夹作为主要帐户域的辅助域。

如果有人在浏览器 URL 中键入 https:mysubdomain,我需要向这个 .htaccess 文件添加什么来重定向。我想从https重定向到http,即。 http:我的子域。

RewriteEngine on
# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php

RewriteCond %{HTTP_HOST} ^myseconddomain\.myprimarydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.myseconddomain\.myprimarydomain\.com$ 
RewriteRule ^/?$ "http\:\/\/mysedonddomain\.com" [R=301,L]

编辑更新: 谢谢你的建议。即使在清除浏览器缓存之后,修改子文件夹中子域的 .htaccess 文件的方法也不起作用。修改主域的 .htaccess 怎么样。我试过这个,但它也没有工作。也许是我的语法?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^https:\/\/myseconddomain.com$
RewriteRule ^www.myseonddomain.com/ [R=301,L]

我已与网络主机 Hostmonster 进行了长时间的交谈,他们所能告诉我的只是 SSL 证书“正常”工作 - 甚至认为它与不相关的域名相关联,这些域名不应该有任何证书。我猜这就是 User82217 的意思,除了购买通配符 SSL 没有别的办法吗?

编辑更新:我尝试将它放在主域和第二个域的 .htaccess 中,当用户在 URL 中的 mysecondubdomain.com 前面键入 https:// 时,从 https 重定向到 http 没有任何效果

RewriteEngine on
RewriteCond %{HTTPS} =on 
RewriteCond %{HTTP_HOST} ^https
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

有人有更多的想法吗?谢谢。

【问题讨论】:

  • 有很多 http/https 重定向问题,请参阅stackoverflow.com/…,大多数情况正好相反,但您会明白的。另请查看RewriteCond 和变量HTTPS
  • 请注意,如果您没有在mysubdomain 上安装 SSL 证书,那么用户仍然会在 在发生重定向之前收到有关无效证书的浏览器警告。
  • 您在更新问题的第二部分中使用的语法完全错误?! (但你在第一部分使用了正确的语法?)

标签: apache .htaccess https


【解决方案1】:

要将 HTTP 强制转换为 HTTP,您可以在 .htaccess 文件中使用以下内容:

#Force HTTP on everything
RewriteCond %{HTTPS} =on
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

您没有指定是否要删除 www,但假设您这样做,您也可以通过包含以下规则来删除它:

RewriteCond %{HTTP_HOST} ^www\. [OR]

因此检查www是否在URL中,所以完全使用:

RewriteCond %{HTTP_HOST} ^www\. [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

确保在测试之前清除缓存。

【讨论】:

  • 虽然 OP 只想将主域的子域(映射到帐户上的辅助域)重定向到辅助域。 (但是,除非他们在主域上有通配符 SSL 证书,否则这是不可能的。)
  • 谢谢,但它仍然没有重定向。我在两个不同的子域上尝试了代码行,每个子域都有自己的 .htaccess。我收到了关于无效安全证书的浏览器警告,但确认后,没有发生重定向。在 URL 中,我尝试了使用和不使用 www。
猜你喜欢
  • 2014-11-24
  • 2015-12-09
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 2013-09-27
  • 2016-02-04
  • 2020-08-13
相关资源
最近更新 更多