在.htaccess上配置HTTPS重定向的重定向太多
我有一个网站与,并工作良好 现在我想知道,无论您键入哪一个,它都会重定向到。我在.htaccess中使用了下面的代码(并尝试了更多),但在浏览器中执行重定向后,页面无法加载,导致错误“重定向过多”。我当然试过删除缓存在.htaccess上配置HTTPS重定向的重定向太多,.htaccess,mod-rewrite,https,.htaccess,Mod Rewrite,Https,我有一个网站与,并工作良好 现在我想知道,无论您键入哪一个,它都会重定向到。我在.htaccess中使用了下面的代码(并尝试了更多),但在浏览器中执行重定向后,页面无法加载,导致错误“重定向过多”。我当然试过删除缓存 RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 我有类似的问题,下面的代码为我解决问题 RewriteEngine on
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
我有类似的问题,下面的代码为我解决问题
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^[DOMAIN HERE]$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
注意:替换
[DOMAIN HERE]应替换为您的域
我有类似的问题,下面的代码为我解决问题
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^[DOMAIN HERE]$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
注意:Replace
[DOMAIN HERE]应替换为you DOMAIN
因为我的主机是Heroku,它有特殊的规则,任何其他解决方案都不适合我。
.htaccess中的以下代码工作得非常出色:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
因为我的主机是Heroku,它有特殊的规则,所以其他任何解决方案都不适合我。 .htaccess中的以下代码工作得非常出色:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
您使用的是cloudflare还是类似的东西?我使用的是HerokuHeroku,它在您的应用程序前面有自己的路由层,所以您不会总是知道它是否通过SSL提供。这个问题有一些特定于Heroku@JonLin的答案,这有点误导。您将始终知道它是否通过SSL传入。重要的不是端口号。
X-Forwarded-Proto
告诉您,它应该始终存在。您使用的是cloudflare还是类似的东西?我使用的是Herokuku,它在您的应用程序前面有自己的路由层,所以您不知道它是否通过SSL进入。这个问题有一些特定于Heroku@JonLin的答案,这有点误导。您将始终知道它是否通过SSL传入。重要的不是端口号。X-Forwarded-Proto
告诉您,它应该始终存在。这是唯一一个对我的服务器起作用的重写条件组合。谢谢这是对我的服务器有效的重写条件的唯一组合。谢谢