.htaccess强制HTTPS
我试图在域上强制使用HTTPS。必须使用根据域名而不是端口号(由于主机结构/设置)工作的方法来完成 我最近的尝试是:.htaccess强制HTTPS,.htaccess,redirect,https,.htaccess,Redirect,Https,我试图在域上强制使用HTTPS。必须使用根据域名而不是端口号(由于主机结构/设置)工作的方法来完成 我最近的尝试是: RewriteEngine On RewriteCond %{HTTP_HOST} ^mydomain.com$ RewriteRule ^.*$ https://www.mydomain.com/$1 [R=301,L] 当在地址栏中键入“mydomain.com”时,自动重定向到https://mydomain.com但是当我输入“www.mydomain.com”时,它就
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com$
RewriteRule ^.*$ https://www.mydomain.com/$1 [R=301,L]
当在地址栏中键入“mydomain.com”时,自动重定向到https://mydomain.com但是当我输入“www.mydomain.com”时,它就不起作用了。我认为这是一个语法问题,因为我对htaccess非常陌生,花了大约4个小时试图从其他人的代码创建一个解决方案
有机会得分吗
使设置更易于理解。
/public\u html/
-此文件夹中的所有文件都与www.mydomain.com
/public\u html/子文件夹
-这些文件夹还包含与mydomain.com
相关的文件
/public\u html/subdomain
-这些文件夹包含与www.myotherdomain.com
我的其他域是
mydomain.com
的子域,用于在主机上的cpanel中列出例如:
subdomain.mydomain.com
与www.myotherdomain.com
相同。
希望这能清除结构。只要向确切的域
mydomain.com
发出请求,就会发生重定向(这就是RewriteCond测试的目的)。它不适用于任何其他域,也不检测HTTPS。改用这个:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
我正在使用Bluehost作为我的主机。他们的设置方法是将主站点(我正在尝试使用https的站点)列在“public_html”下。我的所有其他网站都在“public_html”的子文件夹中,并且受.htaccess文件的影响,导致所有域现在重定向到“mydomain.com”@Daniel我明白了。我会更新我的答案。您的其他站点是否都是mydomain的子域,或者它们都是不同的域?我为每个站点都有一个域名,但要使它们位于cpanel上,必须为它们分配子域。例如:www.mydomain.com和subdomains.mydomain.com(也是www.myotherdomains.com)@Daniel,您只想在
www.mydomain.com
和mydomain.com
上强制使用HTTPS,对吗?正确。我用版面更新了原来的帖子,把它弄清楚了一点。干杯