我通过使用下面的代码redirect到我的子域的所有http请求。
<VirtualHost *:80> ServerName subdomain.example.com Redirect 302 / https://subdomain.example.com </VirtualHost>
现在我的问题是如何做所有子域名。
例如,http:subdomain1.example.com应转到https:subdomain1.example.com,http:subdomain2.example.com应转到https:subdomain2.example.com
如何为所有子域创build,而无需为它们创build一个虚拟主机
想到的是使用mod_rewrite 。
像这样的东西:
RewriteEngine On RewriteCond %{HTTP_HOST} ^(.*)\.example.com$ RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
但是请注意,Apachebuild议在虚拟主机configuration中使用Redirect指令来实现此目的。
从doc 当不使用mod_rewrite :
在http-to-httpsredirect的情况下,如果您无法访问主服务器configuration文件,则必须使用RewriteRule,而且必须在.htaccess文件中执行此任务。