我在c-Panel服务器上有我的网站和几个子域,并希望实现以下功能:
强制HTTPS和WWW用于所有到example.com的流量,以获取到我的主站点的所有流量 - > https://www.example.com/what-ever-page-or-directory
我还有一个 sub.example.com 作为子域设置,通过c-Panel(不是重定向),其文档根目录是/ public_html / sub,这个子域没有'有一个SSL。我尝试输入以下HTACCESS代码:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
适用于重定向主站点上的所有流量,但是当我尝试访问我的子域http://sub.example.com时,我收到重定向错误,说明此网页有重定向循环
提前感谢您的帮助!我找到了类似的帖子,但没有涉及我的具体问题。我对HTACCESS指令并不好,重定向错误让我陷入循环。再次感谢!
答案 0 :(得分:1)
尝试:
RewriteEngine On
#Exclude subdomain
RewriteCond %{HTTP_HOST} !^sub.domain.com$
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
要排除多个子域,您可以使用多个RewriteConds:
RewriteCond %{HTTP_HOST} !^foo.domain.com$
RewriteCond %{HTTP_HOST} !^bar.domain.com$
或只是一个班轮图案:
RewriteCond %{HTTP_HOST} !^(foo|bar).domain.com$