Apache - 将所有流量从端口 80 重定向到 443 失败

Apache - 将所有流量从端口 80 重定向到 443 失败

你好,我正在尝试强制 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

相关内容