2016-08-02 28 views
0

Ich habe von Apache 2.2 auf 2.4 aktualisiert und alle außer einem Typ meiner URL Rewrite-Regeln funktionieren wie erwartet. Es scheint, dass die folgende Regel nicht funktioniert. Ich habe die IP-Adresse aus Sicherheitsgründen entfernt.Apache HTTPD 2.4 URL Rewrite Regeln

Request ungesetzt Authorization RewriteEngine On RewriteRule /xmldb/VATIncidentPoint/(.*)$ http://x.x.x.x:8080/exist/rest/db/VATIncidentPoint/ $ {user2group:% {LA-U: REMOTE_USER}}/$ 1 [P]

Es scheint, was passiert, ist dass der Abschnitt, der user2group enthält, nicht durch die Gruppe ersetzt wird, zu der der Benutzer gehört. Dies führt zu 2 Schrägstrichen am Ende der URL, anstatt durch die Gruppe '//' ersetzt zu werden. Gibt es in 2.4 einen anderen Weg als in 2.2?

Vielen Dank im Voraus!

+0

* UPDATE * - Nach dem Aktivieren der Protokollierung für mod_rewrite konnte ich sehen, dass die Variable REMOTE_USER nicht gesetzt ist. Aus diesem Grund schlägt die Suche in der user2group-Map fehl. Irgendwelche Ideen, warum diese Variable nicht für Apache 2.4 funktioniert. Ich weiß, es funktioniert auf 2.2 und ich lese über die Verwendung hier: http://httpd.apache.org/docs/current/mod/mod_rewrite.html –

Antwort

0

Das Problem war, dass im Standort-Block gab es 2 Require-Anweisungen.

verlangen, dass alle gewährten und erfordern valid-user

Dies verursacht wurde der REMOTE_USER Wert nie und daher nichts von der Karte zurück zu verursachen nachgeschlagen werden. Durch das Entfernen von "Erfordern alle erteilt" und das Verlassen von "Gültigen Benutzer erforderlich" wurde das Problem behoben.