Seite 1 von 1
mod_rewrite Problem
Verfasst: 13.10.2004, 15:53
von vormizaxo
Hallo,
ich habe auf folgendes Problem auch nach längerem Suchen keine Antwort gefunden.
Ich habe eine Homepage und dort eine Seite test.html.
Diese soll durch mod_rewrite nicht geändert werden.
Ansonsten soll aber folgende Regel gelten:
RewriteRule ([-a-zA-Z0-9]*).html /script.cgi?query=$1
Mein Problem ist, daß bei Anfragen mit "test.html" logischerweise auf cgi-bin/search.cgi?query=test weitergeleitet wird. Ich möchte aber nur dann weiterleiten, wenn ursprünglich keine Datei existiert. Kann das wer nachvollziehen und mir helfen?
Danke
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 13.10.2004, 15:58
von Michael
Immer wieder das gleiche Thema
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/([^.]*).html$
RewriteRule ^(.*) /index.php?query=%1 [L]
Immer wieder "FAST" die gliche Antwort
Michael
Verfasst: 13.10.2004, 16:17
von vormizaxo
Michael hat geschrieben:Immer wieder das gleiche Thema
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/([^.]*).html$
RewriteRule ^(.*) /index.php?query=%1 [L]
Immer wieder "FAST" die gliche Antwort
Michael
Hallo,
was soll denn an dieser Anweisung bewirken, daß die vorhandene test.html
nicht weitergleitet wird?
Verfasst: 13.10.2004, 23:57
von zebby
Hallo,
es müsste ausreichen, wenn du die Regel einfach für die Datei erweiterst und an den Anfang setzt.
RewriteRule test.html test.html
Gruß Zebby
Verfasst: 14.10.2004, 13:23
von vormizaxo
Hallo,
ich habe das jetzt damit gelöst, daß ich auf eine andere Dateiendung ausgewichen bin.

Verfasst: 14.10.2004, 18:57
von Caterham
RewriteRule test.html test.html
ohne das L-Flag für "last" müssten jedoch die folgenden Regeln normal ausgeführt werden.
Zur Info: Möglichkeiten zum Ausschließen von dateien/Verzeichnissen
oder
über der RewriteRule, die nicht ausgeführt werden soll.
1. Regel besagt, dass wenn test.html (Achtung, den Punkt escapen) 'aufgerufen wird' - nichts machen (-) und letzte Regel (d.h. keine weiteren Regeln werden mehr ausgeführt)
2. Regel besagt, dass wenn nicht test.html (Achtung, den Punkt escapen) 'aufgerufen wird' - nichts machen (-) und mit der RewriteRule unter der Ausschlusszeile verketten; d.h. die eine folgende RewriteRule wird nur ausgeführt, wenn test.html nicht angefordert wurde. Die 2., 3.,... RewriteRule unter der Verkettungsregel wird dann wieder ausgeführt (es sei denn, dass die 1. Regel unter der Verkettungsregel ebenfalls per [C] mit der folgenden Regel verkettet wird).
Gruß
robert