2016-08-03 7 views
0

私はこれを動作させようとしてきたが、どこが間違っているのか分からない。Apache(2.4)REQUEST_URIでのRequireAny

私は次のセクションを持っているApacheの設定では:

<Directory /var/www/html/> 
    AuthType Kerberos 
    AuthName "Login" 
    KrbMethodNegotiate on 
    KrbMethodK5Passwd on 
    KrbAuthRealms EXAMPLE.LOCAL 
    KrbServiceName HTTP/[email protected] 
    Krb5KeyTab /etc/httpd/conf/http.keytab 
    <RequireAny> 
     Require valid-user 
     Require local 
     Require ip 192.168.2.190 
     Require expr %{REQUEST_URI} =~ m#/my/InvalidCredentials# 
     Require expr %{REQUEST_URI} =~ m#/my/PublicPage/*# 
    </RequireAny> 
</Directory> 

私は、認証から除外しようとしているページが、このようなものです

Require expr文以外はすべてwその表現は間違っていなければなりませんが、何が間違っているのかは分かりません。

答えて

1

は、私はあなたが試してみてくださいと信じて「もし」ではなく、このようなRequireAny前:私にとって

<If "%{REQUEST_URI} =~ m#(/my/InvalidCredentials$|/my/PublicPage/)#"> 
     Require all granted 
</If> 
<Else> 
     <RequireAny> 
     #all checks except the require expr 
     </RequireAny> 
</Else> 

はそれがより一貫性、シンプルな外観と私にとって、それはこのように動作します。

私は本当になぜそれがうまくいかないのか分かりません。ドキュメント内のすべての例はexprを引用符で囲みますが、それだけは確信していませんが、この他のオプションが役立つことを願っています。ここで、いずれの場合においても

は迅速参照に必要exprの例のリンクである:

Require expr
関連する問題