【问题标题】:Apache HTTPD 2.4 URL Rewrite RulesApache HTTPD 2.4 URL 重写规则
【发布时间】:2016-12-07 04:30:25
【问题描述】:

我已从 Apache 2.2 升级到 2.4,除了一种类型的 URL 重写规则外,所有的 URL 重写规则都按预期工作。以下规则似乎不起作用。出于安全考虑,我删除了 IP 地址。

RequestHeader 未设置授权 重写引擎开启 RewriteRule /xmldb/VATIncidentPoint/(.*)$ http://x.x.x.x:8080/exist/rest/db/VATIncidentPoint/${user2group:%{LA-U:REMOTE_USER}}/$1 [P]

似乎正在发生的事情是包含 user2group 的部分没有被用户所属的组替换。这会导致 url 末尾出现 2 个斜杠,而不是替换为组“//”。 2.4 中是否有与 2.2 中不同的方法来执行此操作?

提前致谢!

【问题讨论】:

  • UPDATE - 在为 mod_rewrite 启用日志记录后,我看到没有设置 REMOTE_USER 变量。这就是 user2group 映射中的查找失败的原因。为什么这个变量不适用于 Apache 2.4 的任何想法。我知道它适用于 2.2,我在这里阅读了有关使用它的信息:httpd.apache.org/docs/current/mod/mod_rewrite.html

标签: apache mod-rewrite digest-authentication


【解决方案1】:

问题在于 Location 块中有 2 个 require 语句。

要求所有已授予且要求有效用户

这导致 REMOTE_USER 值永远不会被查找,因此不会从地图中返回任何内容。删除“要求所有已授予”并保留“要求有效用户”解决了该问题。

【讨论】:

    猜你喜欢
    • 2014-06-06
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多