我在我正在开发的网站上创建了一个子域名,我希望它能够自动重定向到https,特别是因为如果我尝试通过键入http://test.example.com来访问它,它就不起作用了 - 它似乎等待服务器响应一段时间(可能是30秒),然后最终解析为https://www.test.example.com(这是问题的线索......?) 我尝试在网站根目录中的.htaccess 中添加一条规则来捕获所有子域名,如下所示:
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteRule ^ https://%1.example.com%{REQUEST_URI} [NE,L,R]
(......但无济于事)
我还尝试了各种其他方法,位于子域主目录的htaccess文件中,如下所示(当然每次一个):
#Method 1
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
#Method 2
RewriteCond %{HTTPS} off [NC,OR]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://test.example.com/$1 [R=301,L]
#Method 3
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} =test.example.com
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301]
#Method 4
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^((?!www\.)[^.]+)\.example\.com$
RewriteRule ^ https://%1.example.com%{REQUEST_URI} [NE,L,R]
#Method 5
RewriteCond %{HTTP_HOST} ^(.*?)\.example.com$
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*?)$ https://%{HTTP_HOST} [nc]
这些都没有将http://test.example.com子域重定向到https - 除了方法2之外,它们什么都不做,它返回了太多的重定向'错误。 我在这里想念的是什么? 谢谢