Apache位置指令exception

我试图validation用户的所有url,除了正则expression式:

https://www.example.com/ ****任何****应请求authenticationhttps://www.example.com/exams/ ****任何****不应请求authentication

这是我今天的configuration,但它不工作:

<LocationMatch "^/exams"> Order allow,deny Allow from all </LocationMatch> <Location "/"> Order allow,deny Allow from all AuthType Basic AuthName "PLEASE,AUTHENTICATE" AuthBasicProvider ldap-employees Require valid-user </Location> 

它要求对每个URL进行身份validation

我想你可以完成这个,如果你有mod_authz_hostmod_rewrite 。 基本上设置一个环境variables,如果URL匹配/检查和寻找,如果它设置允许访问。 看下面的例子。 在这个例子中,你不会有额外的<Location>标签。

 SetEnvIf Request_URI "^/exams.*" accessgranted=1 <Location "/"> Order deny,allow Satisfy any Deny from all Allow from env=accessgranted AuthType Basic AuthName "PLEASE,AUTHENTICATE" AuthBasicProvider ldap-employees Require valid-user </Location> 

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#allow