我正在尝试使用Bluehost提供的SSL通配符证书将一个子域切换为HTTPS。
Web根包含许多子域,我只想影响测试。子域。
进入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的条件,它仍然无法正常工作。
我的重写规则不好吗?
答案 0 :(得分: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]