.htaccess 中 !on 和 off 的区别
Difference between !on and off in .htaccess
下面几段代码有区别吗:
RewriteCond %{HTTPS} off
和
RewriteCond %{HTTPS} !on
也许在他们如何处理 null 之类的方面?从表面上看,它们似乎应该工作相同,但我在不同站点的 .htaccess 文件中遇到过这两种变体。
Perhaps in how they handle null, or something?
嗯,是的,如果 HTTPS
为 null、未设置或设置为“on”以外的任何值,则表达式 !on
将成功(或者更确切地说,不 包含 “on”)。而表达式 off
仅在 HTTPS
包含“off”时才成功。
但是,这里的要点是 HTTPS
服务器变量只能准确设置为“开”或“关”(全部小写)。您的服务器一定有问题,因为这个服务器变量根本没有设置或完全设置为其他。
因此,在此上下文中使用off
还是!on
实际上只是个人喜好。
另请参阅 my answer 网站管理员堆栈中的以下问题:
下面几段代码有区别吗:
RewriteCond %{HTTPS} off
和
RewriteCond %{HTTPS} !on
也许在他们如何处理 null 之类的方面?从表面上看,它们似乎应该工作相同,但我在不同站点的 .htaccess 文件中遇到过这两种变体。
Perhaps in how they handle null, or something?
嗯,是的,如果 HTTPS
为 null、未设置或设置为“on”以外的任何值,则表达式 !on
将成功(或者更确切地说,不 包含 “on”)。而表达式 off
仅在 HTTPS
包含“off”时才成功。
但是,这里的要点是 HTTPS
服务器变量只能准确设置为“开”或“关”(全部小写)。您的服务器一定有问题,因为这个服务器变量根本没有设置或完全设置为其他。
因此,在此上下文中使用off
还是!on
实际上只是个人喜好。
另请参阅 my answer 网站管理员堆栈中的以下问题: