【问题标题】:Conditional RewriteBase - set base path only if localhostConditional RewriteBase - 仅在 localhost 时设置基本路径
【发布时间】:2020-03-06 00:36:19
【问题描述】:

我想为我的本地主机设置基本路径(但不是实时)。我进行了广泛的研究,这看起来是一个简单的解决方案:

  <If "%{HTTP_HOST} == '127.0.0.1'">
  RewriteBase /localpath/
  </If>

不幸的是,RewriteBase 语句永远不会触发 - 即使我做到了!= '127.0.0.1'。

我不确定这是否是 IF/RewriteBase 组合的问题,因为如果我将 RewriteBase 放在语句之外,它确实有效。

有没有办法测试 LOCALHOST 然后执行 Rewritebase 命令?

【问题讨论】:

  • 如果条件适用于 apache 2.4,请确认是否是这种情况。
  • 是 Apache 2.4.39 (wamp64)
  • 重写基数似乎与 If 块冲突。例如&lt;If "true"&gt;RewriteBase /&lt;/If&gt; 不起作用

标签: .htaccess mod-rewrite


【解决方案1】:

您应该匹配 %{SERVER_ADDR} 而不是 %{HTTP_HOST}

<If "%{SERVER_ADDR} == '127.0.0.1'">
    RewriteBase /localpath/
</If>

【讨论】:

    猜你喜欢
    • 2014-01-30
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多