.htaccess重定向–两次重定向之间的区别

时间:2019-04-30 09:10:23

标签: .htaccess

您能解释下面两个.htaccess重定向之间的区别吗?

第一个重定向是我最常使用的重定向,但是它在最近的站点上不起作用(重定向太多–即使我没有进行任何设置),但是第二个重定向有效,我很好奇。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteEngine On
RewriteCond %{ENV:HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

1 个答案:

答案 0 :(得分:1)

第一个RewriteCond检查服务器设置的HTTPS标志(选中此link。滚动到服务器变量)。

第二个RewriteCond检查一个环境变量,该变量可以由先前的RewriteRule设置(有关设置环境变量,请参见Setenvvars)。

您尝试使用%{HTTPS}!= on吗?

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

注意:这两个链接均参考apache文档。根据您使用的HTTP服务器,这可能不起作用。