我的.htaccess和https重定向有问题。
首先,我已经参考这些链接找到了解决方案,但是没有一个可以帮助我。
链接列表:
.htaccess将http重定向到https
使用HTTPS进行ModRewrite
https://www.ndchost.com/wiki/apache/redirect-http-to-https
htaccess重定向到https:// www
https://serverfault.com/questions/116206/how-do-i-use-htaccess-to-always-redirect-from-http-to-https
当我使用http加载页面时,.htaccess将我重定向到https,但是当我使用https加载页面时,我遇到了无限循环。
这是我的.htaccess代码:
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteCond %{HTTP_HOST} ^(api|www|dev|stefano|sav)\. RewriteCond %{REQUEST_URI} !^/(api|www|dev|stefano|sav)/ RewriteCond %{DOCUMENT_ROOT}/%1 -d RewriteRule ^(.*)$ %1/$1 [L]
是否有人可以帮助我创建重定向条件(从HTTP到https)?
您需要离开。Rewrite Flags
您需要告诉它使用R
标志强制重定向,并提供可选的状态码,建议使用301、302等。
RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
顺便说一句,您链接到的每个示例都使用来显示答案R flag
,不知道为什么您没有使用确切的示例:)
如果在负载均衡器等设备后面,则可以解决。
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]