我有一个使用Apache服务器的webhost帐户。 webhost的文件结构使用主帐户域的辅助域的子文件夹。
如果有人在浏览器网址中键入https:mysubdomain,我需要添加到此.htaccess文件中以重定向。我想从https重定向到http,即。 HTTP:mysubdomain。
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文件的方法也不起作用。如何修改maindomain的.htaccess。我试过这个,但它也没用。也许我的语法?
RewriteEngine on
RewriteCond %{HTTP_HOST} ^https:\/\/myseconddomain.com$
RewriteRule ^www.myseonddomain.com/ [R=301,L]
我已经和webhost,Hostmonster详细说过了,他们可以告诉我的是SSL证书“正确”工作 - 甚至认为它与不应该拥有任何证书的无关域名相关联。我猜这就是User82217所说的,除了购买通配符SSL之外别无他法了吗?
编辑更新:我尝试将其放在maindomain和seconddomain的.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]
有人有更多想法吗?谢谢。
答案 0 :(得分:0)
要强制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
,所以完全使用:
RewriteCond %{HTTP_HOST} ^www\. [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
确保在测试之前清除缓存。