Verhindern Endlosschleife_URL-Rewriting
Stephan
- webserver
Hallo an Alle,
ich hab da noch ein Problem, dass ich mit meiner RegExp so wie ich sie brauchen würde immer wieder in eine Endlosschleife gerate. :-(
Folgende Problemstellung:
Die URL im Browser soll immer auf folgende URL umgeschrieben werden:
/test_int.html. Diese "test_int.html"-Seite öffnet dann wiederum eine angepasste Browserseite.
Jetzt hab ich das ganze so probiert:
RewriteRule ^/([A-Za-z0-9_]*)$ /test_int.html [R]
...und mit der umgeschriebenen URL (test_int.html) soll dann auf den eigentlichen Webserver geproxied werden:
RewriteRule ^/(.*)$ http://eigentlicher.server.com/$1 [P]
Ich muss die URL vorher immer umschreiben, weil die Nutzer ausschließlich auf test_int.html zugreifen dürfen, und z.B. nicht auf link.html welche sich auch auf dem eigentlichen Server befindet.
Wenn mir da wer weiterhelfen könnte wäre mir sehr geholfen. Danke.
Gruß,
Stephan
Moin!
Ich muss die URL vorher immer umschreiben, weil die Nutzer ausschließlich auf test_int.html zugreifen dürfen, und z.B. nicht auf link.html welche sich auch auf dem eigentlichen Server befindet.
Mit anderen Worten: Die Benutzer sollen, egal was sie angeben, immer http://eigentlicher.server.test/test_int.html kriegen? Dann schreib das doch einfach in deine Proxyregel rein, anstatt $1 zu verwenden. Dann bist du _sicher_, dass keine andere Seite aufgerufen wird.
Deine Endlosschleife resultiert daraus, dass du einen Redirect von "alles" auf "test_int.html" machst. "test_int.html" fällt aber auch unter "alles". Also fehlt entweder ein Abfangen im Regex (was schwierig sein dürfte), oder eine RewriteCond, die prüft, ob das "alles" != "test_int.html" ist.
- Sven Rautenberg
Hallo zurück,
[...] Dann schreib das doch einfach in deine Proxyregel rein, anstatt $1 zu verwenden. Dann bist du _sicher_, dass keine andere Seite aufgerufen wird.
Das hab ich bereits probiert, allerdings findet er dann die Links zu Bildern und JavaScripts auf dem eigentlichen Server nicht sondern sucht sie immer noch am Proxy-Server. Wenn ich allerdings vorher den Link mit der Option [R] reinschreibe und danach mit dem umgeschriebenen Link und der Option [P] auf den eigentlichen Server proxy'e, dann funzt. Ich muss gestehen ich versteh das jetzt nicht mehr so ganz, warum das so ist????
[...] oder eine RewriteCond, die prüft, ob das "alles" != "test_int.html" ist.
Kannst du mir da helfen? Wie müsste denn diese RewriteCond dann lauten?
Gruß,
Stephan