我们需要将所有 http 请求转换为 https 请求,并将 .xyz.com 附加到服务器名称。为此,我编写了以下规则,该规则适用于 http 请求,但不适用于 https 请求。
RewriteRule ^(.*)$ https://%{SERVER_NAME}\.xyz.com%{REQUEST_URI} [R]
如果我输入 http:// lvldraspnetserv01,它会根据要求重定向到 https:// lvldraspnetserv01.xyz.com。
但是,如果我输入 https:// lvldraspnetserv01,它不会重定向到 https:// lvldraspnetserv01.xyz.com,从而导致证书失败。
答案1
尝试一下:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} **Insert current condition here ***
RewriteRule ^(.*)$ https://%{SERVER_NAME}\.xyz.com%{REQUEST_URI} [R]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} **Insert current condition here, but for https***
RewriteRule ^(.*)$ https://%{SERVER_NAME}\.xyz.com%{REQUEST_URI} [R]
答案2
我有同样的问题。
添加QSA
标志解决了问题
RewriteRule ^(.*)$ https://%{SERVER_NAME}\.xyz.com%{REQUEST_URI} [R, QSA]
很奇怪的行为不是吗?:)^^