你好,我正在尝试强制 SSL 访问我的域的流量,但是对于根级别以下的任何内容,它都失败了,即:
http://my.domain/应用程序返回为: https://my.domainapplication
因此重定向中缺少根斜杠。我尝试了 301 重定向和条件重写,但都产生了相同的结果。
我的虚拟主机 80 端口的最新版本是:
ServerName my.domain
ServerAlias www.my.domain
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
我试过
重定向 /https://我的域名/
并产生了相同的结果。
有人能告诉我我哪里做错了吗?
谢谢
答案1
尝试这个:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我怀疑 != 是必要的。
另外,请确保您允许.htaccess:
AllowOverride all
在httpd.conf
或者,您也可以尝试这个不使用 http_host 的重写规则:
RewriteRule ^(.*) https://your_server.com/$1