您能解释一下下面两个 .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]
第一个 RewriteCond 检查服务器设置的 HTTPS 标志(检查此link https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewritecond。滚动到服务器变量)。
第二个 RewriteCond 检查环境变量,该变量可以由先前的 RewriteRule 设置(请参阅设置环境变量 https://httpd.apache.org/docs/2.4/rewrite/advanced.html#setenvvars用于设置环境变量)。
您是否尝试过使用 %{HTTPS} !=on?
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
注意:两个链接均引用 apache 文档。根据您使用的 HTTP 服务器,这可能不起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)