【发布时间】: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 证书,那么用户仍然会在 在发生重定向之前收到有关无效证书的浏览器警告。 -
您在更新问题的第二部分中使用的语法完全错误?! (但你在第一部分使用了正确的语法?)