使用apache rewriterules的问题

时间:2016-09-27 15:51:37

标签: apache redirect httpd.conf

嗨,这是我的重写条件:

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/,但似乎我得到了一个无限循环,我尝试了两个条件,所以如果HTTPS上有不应该重定向,那么任何帮助都会受到赞赏,谢谢!

更新1 我将其更改为以下

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

我不理解这部分[R = 301],但它仍然给我 ERR_TOO_MANY_REDIRECTS 错误

1 个答案:

答案 0 :(得分:0)

好的,我想通过朋友和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代替了魅力