如何将所有子域重定向到https ?



你好,应该在htaccess中添加什么来将所有子域名重定向到https,例如webmail.example.com?

<IfModule mod_rewrite.c>
RewriteOptions inherit
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
Header set content-Security-Policy: upgrade-insecure-requests
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

你已经有了一个重定向所有内容(任何域/子域)到HTTPS的规则。因此,如果这不起作用,则:

  1. 这个子域是而不是指向文件系统的相同区域(所以这个.htaccess文件不适用,指令被忽略)。

  2. 这些指令没有做任何事情,例如:您的服务器上没有启用mod_rewrite或.htaccess覆盖

既然你有一个"前置控制器"模式在.htaccess文件(最后规则),我认为这是被成功地用于服务您的网站?如果是这样,那么.htaccess和mod_rewrite似乎是启用并工作的。

这似乎只剩下#1.在哪种情况下,webmail子域指向文件系统的这个区域?

webmail子域名是您创建的还是您的托管帐户的一部分?webmail是cPanel使用的常见子域(并且您已经标记了您的问题cPanel)。在这种情况下,该子域可能指向文件系统的一个完全不同的区域,并且不受您的控制。

相关内容

  • 没有找到相关文章

最新更新