我有一个简单的Apacheconfiguration的问题。
当用户要求https://mydomain.com我必须redirect到https://www.mydomain.com ,因为我的https证书是有效的只是与www域。
我创build了vhost.conf到我的/var/www/vhosts/mydomain.com/conf/目录里面:
<Directory /var/www/vhosts/mydomain.com/httpsdocs> AllowOverride All </Directory>
而我的.htaccess文件进入/var/www/vhosts/mydomain.com/httpsdocs/是:
RewriteEngine on RewriteCond %{HTTPS_HOST} ^mydomain\.com RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
但似乎完全忽略.htaccess。
任何想法?
https连接的顺序是粗略的
所以在连接获得足够的mod_rewrite动作之前,错误信息已经发生了。 为了防止错误的发生,你必须得到一个拥有主题备用名称的证书(即适用于www和非www),或者使用SNI(在SSL协议中增加一个额外的步骤,浏览器可以告诉Apache哪个主机名希望,Apache可以select适当的证书)。
另外,即使连接是HTTPS(因为这只是“SSL隧道内部的HTTP”的缩写),variables总是被称为%{HTTP_HOST}。