Apache und mod_rewrite
Steffen
- webserver
Hallo,
ich hatte ja letzte Woche schon die Frage gestellt, wie man es anstellen müsste, wenn man bestimmte Benutzer von einer Bestimmten IP Adresse zu einem anderen Conten verweisen lassen möchte.
Mit einem Link zur mod_rewrite Doku bei Apache wurde mir die Richtung gezeigt.
Irgendwie bekomme ich es aber nicht hin.
Folgendes habe ich in der httpd.conf eingetragen.
Natürlich auch das Modul mod_rewrite geladen und aktiviert.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^127.0.0.1
RewriteRule ^/$ /test.html
Es klappt aber leider nich. Wenn ich von Lokal auf den Server zugreife erkenne ich ganz klar (Logfile), dass ich mit 127.0.0.1 auf das Dokument zugreife. Ich erhalte aber die index.html anstatt der test.html.
Kann mir jemand auf die Sprünge helfen, was ich da falsch mache?
Viele Grüsse und danke nochmals.
Ich hab es gefunden.
RewriteCond %{REMOTE_HOST} ^127.0.0.1
RewriteRule ^/$ /test.html
Es klappt nun.
Vielen lieben dank.
Einen Nachschlag hätte ich noch.
Was muss ich ändern, dass z.B. die IP Adresse und die Browserkennung berücksichtigt werden?
kann ich hier eine 2. Rewrite Condition einfügen?
Spielt hierbei die Gross - Kleinschreibung eine Rolle?
RewriteCond %{REMOTE_HOST} ^127.0.0.1
RewriteCond %{HTTP_USER_AGENT ^Mozilla
RewriteRule ^/$ /test.html
Viele Grüsse Steffen
Nabend,
Was muss ich ändern, dass z.B. die IP Adresse und die Browserkennung berücksichtigt werden?
bitte achte auf die korrekte Schreibweise und vergiss keine anschließenden Klammern
kann ich hier eine 2. Rewrite Condition einfügen?
Ja. Es wird zu einer impiziten Und-Verknüpfung.
Spielt hierbei die Gross - Kleinschreibung eine Rolle?
Ja.
RewriteCond %{REMOTE_HOST} ^127.0.0.1
RewriteCond %{HTTP_USER_AGENT} ^Mozilla[Versionsangabe]
RewriteRule ^/$ /test.html
Gruß aus Berlin!
eddi
Nabend,
bitte achte auf die korrekte Schreibweise und vergiss keine anschließenden Klammern
Vielen Dank, das ist mir gottseidank nur hier beim Eintragen passiert.
kann ich hier eine 2. Rewrite Condition einfügen?
Ja. Es wird zu einer impiziten Und-Verknüpfung.
Funktioniert Prima, leider erkennt nicht jeder Apache den User Agent.
Gibt es da eine besondere Einstellung?
Spielt hierbei die Gross - Kleinschreibung eine Rolle?
Ja.
Ich hatte es befürchtet.
RewriteCond %{REMOTE_HOST} ^127.0.0.1
RewriteCond %{HTTP_USER_AGENT} ^Mozilla[Versionsangabe]
RewriteRule ^/$ /test.html
Vielen Dank nochmals und Gruss zurück nach Berlin.
Re:
Funktioniert Prima, leider erkennt nicht jeder Apache den User Agent.
Gibt es da eine besondere Einstellung?
Alle Apache-Variablen, die mit "HTTP_" beginnen, werden aus dem Request-Headern gewonnen. Wird kein User-Agent gesendet, ist diese Variable leer. Wenn dies nicht der Fall ist, dann ist nur Dein Suchstring zur Unterscheidung nicht genau genug.
Gruß aus Berlin!
eddi
Re:
Alle Apache-Variablen, die mit "HTTP_" beginnen, werden aus dem Request-Headern gewonnen. Wird kein User-Agent gesendet, ist diese Variable leer. Wenn dies nicht der Fall ist, dann ist nur Dein Suchstring zur Unterscheidung nicht genau genug.
Merkwürdigerweise funktioniert das bei einer aktuellen xampp Installation nicht.
Wenn ich das Spielchen auf dem lokalen Rechner versuche, erscheint die Browserkennung nicht mal im log.
Es handelt sich um einen Apache 2.2
Auf dem produktiven System ist ein apache 2.0.54 da klappt es.
Dort finde ich aber auch meine Browserkennung im log.
Ich verwende jedoch den gleichen Browser und Rechner.
Daher dachte ich, dass es eventuell an einer Einstellung liegt.
Trotzdem vielen Dank