使用 apache 重写规则的问题

Problems using apache rewriterules

您好,这是我的重写条件:

LogLevel alert rewrite:trace3
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^/(myapp)/ - [E=MY_URL:1]

RewriteCond %{ENV:MY_URL} 1
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

我正在尝试重定向转到 http://www.example.com/myapp/ 的所有内容 到 https://www.example.com/myapp/ 但似乎我得到了一个无限循环,我尝试设置 2 个条件,所以如果 HTTPS 在上面 不应该 重定向,任何帮助将不胜感激,谢谢!

更新 1 我将其更改为以下

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/myapp
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]

我不明白 [R=301] 部分,但它仍然给我 ERR_TOO_MANY_REDIRECTS 错误

好的,多亏了一个朋友,我弄明白了 link

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} ^/myapp
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我不知道为什么 RewriteCond %{HTTPS} off 在我的规则 (apache 2.4) 上不起作用,所以我改用 %{HTTP:X-Forwarded-Proto} !https,效果很好