.htaccess mod_在其他规则处于活动状态时重写SSL
在保留其他规则的同时,我的mod_重写到SSL有问题。我需要所有页面都在SSL上,但通过添加规则,它创建了一个重定向循环 以下是我到目前为止的情况:.htaccess mod_在其他规则处于活动状态时重写SSL,.htaccess,mod-rewrite,ssl,.htaccess,Mod Rewrite,Ssl,在保留其他规则的同时,我的mod_重写到SSL有问题。我需要所有页面都在SSL上,但通过添加规则,它创建了一个重定向循环 以下是我到目前为止的情况: RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com$ RewriteRule (.*) https://www.domain.com/ [R=301] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUE
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule (.*) https://www.domain.com/ [R=301]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteBase /
# Sign up
RewriteRule ^sign-up/$ /register.php [NC]
我哪里会出错呢?我试着改变愤怒的顺序,但没有成功
干杯,
RJ您需要使用
[L]
标志退出重写迭代:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule (.*) https://www.domain.com/ [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
# Sign up
RewriteRule ^sign-up/$ /register.php [NC]
我明白了。事实证明,这是由于web服务器在负载平衡器后面 因此,需要一段时间才能找到,但如果其他任何人在负载平衡器后面的多台服务器上有类似的问题,您需要:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
谢谢,RJ谢谢,回答得好。不幸的是,它没有解决这个问题,仍然存在一个循环。