1

我正在尝试使用 Bluehost 提供的 SSL 通配符证书将一个子域切换到 HTTPS。

web根目录包含很多子域,我只想影响测试。子域。

进入网络根目录,我编写了以下 .htaccess 文件:

RewriteCond %{SERVER_NAME} ^test.mydomain.com        
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}$1

然而点击http://test.mydomain.com/admin/index.php并没有将我重定向到https://test.mydomain.com/admin/index.php

即使去掉 SERVER_NAME 的 Condition,它仍然不起作用。

我的重写规则不好吗?

4

1 回答 1

0

好吧,首先我在错误的 .htaccess 文件中。我需要转到我的子域的目录。

然后,简单地将其从 HTTP 切换到 HTTP 显然会导致某种重定向到 www。行为。

我不得不

A) 保留不用于测试的现有规则。B) 添加测试。规则。

它加起来很多。

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^test.example.com$  
RewriteRule ^index\.php$ - [L]

RewriteCond %{HTTP_HOST} !^test.example.com$  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTP_HOST} ^test.example.com$     
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

RewriteCond %{HTTP_HOST} ^test.example.com$   
RewriteCond %{REQUEST_URI} !^/test/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /test%{REQUEST_URI} 

RewriteCond %{HTTP_HOST} ^test.example.com$ 
RewriteRule ^(/)?$ test/admin/index.php [L]
于 2013-05-14T20:39:41.107 回答