dynamicAuthName在Apache2configuration

我正在尝试configurationApache v2.4.7以在用户可以访问特定位置的数据库中查找。 我设法在几个特定的​​位置做到这一点,但是对于dynamic位置却无法做到。

所以这是适用于两个地点“mydomain.com/foo”和“mydomain.com/bar”

<Location /foo> AuthName "/foo" AuthType Digest Require valid-user AuthBasicProvider dbd AuthDBDUserRealmQuery "SELECT password FROM Users WHERE login = '%s' AND realm = '%s'" </Location> <Location /bar> AuthName "/bar" AuthType Digest Require valid-user AuthBasicProvider dbd AuthDBDUserRealmQuery "SELECT password FROM Users WHERE login = '%s' AND realm = '%s'" </Location> 

这是工作正常,如果我有我的数据库中的领域“/富”或“/酒吧”的logging。

但是现在,假设我有一千个,而且有一些可以随时创build。 我尝试了以下解决scheme:

 <LocationMatch /.*> AuthName "%{DOCUMENT_URI}" AuthType Digest Require valid-user AuthBasicProvider dbd AuthDBDUserRealmQuery "SELECT password FROM Users WHERE login = '%s' AND realm = '%s'" </LocationMatch> 

我读( https://httpd.apache.org/docs/trunk/fr/mod/mod_authn_core.html#authname)AuthName可以dynamic设置,但我不断收到错误日志中的以下消息,这意味着variables没有被实际请求的位置dynamicreplace。

 user `firstname.lastname' in realm `%{DOCUMENT_URI}' not found: 

我将不胜感激一些帮助find我做错了什么,或find另一种方式。

您期望的function将在Apache 2.5中发布 ,并且在Apache 2.4中尚不可用。 在Apache <= 2.4中,只能为AuthName使用纯string。