【问题标题】:Difference between !on and off in .htaccess.htaccess 中的 !on 和 off 之间的区别
【发布时间】:2022-01-08 19:36:42
【问题描述】:

以下几段代码有区别吗:

RewriteCond %{HTTPS} off 

RewriteCond %{HTTPS} !on

也许他们如何处理 null 或其他什么?从表面上看,它们似乎应该工作相同,但我在不同站点的 .htaccess 文件中遇到了这两种变体。

【问题讨论】:

  • off!on 在使用条件匹配 %{HTTPS} 变量时执行相同的操作。简单来说off代表“HTTPS关闭=请求方案是http!on表示请求的方案不是https

标签: apache .htaccess mod-rewrite boolean


【解决方案1】:

也许在他们如何处理 null 之类的?

嗯,是的,如果HTTPSnull、未设置或设置为“on”以外的任何值(或者更确切地说,不包含“开”)。而表达式off 仅在HTTPS 包含“off”时才成功。

然而,这里重要的一点是HTTPS 服务器变量只会被设置为“on”或“off”(全部小写)。你的服务器一定有问题,这个服务器变量根本不被设置或完全设置为其他东西

所以,off 还是 !on 在这种情况下使用实际上只是个人喜好。

另请参阅my answer 网站管理员堆栈上的以下问题:

【讨论】:

  • 谢谢,这是同一个问题!我尝试在 stackoverflow 中查找重复项,但在其他地方没有。我还有一些关于 htaccess/rewritecond 的问题,您认为 Webmasters 是最好的地方,还是有更具体的地方?
  • @PixelSnader "htaccess/RewriteCond" 问题是网站管理员的完美话题。在这方面与 Webmasters、StackOverflow 和 ServerFault 有一些交叉。尽管.htaccess 特定的问题在 SF 上逐渐偏离主题(但可以容忍),因为您应该完全控制服务器。
猜你喜欢
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 2015-03-05
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
相关资源
最近更新 更多