Modrewrite, von dynamisch zu statisch.

voiture

Angesehenes Mitglied
Ich habe folgendes Problem.
Wenn ich eine statische Seite in die Adresszeile wie http://localhost/schuhe.htm in die Adresszeile des Browsers eingebe wird diese unsichtbar zu http://localhost//parser/parser.php?file=/RK/schuhe.htm weitergeleitet. Aber es bleibt http://localhost/schuhe.htm stehen. Das habe ich mit folgender Regel gemacht:
QUOTE
RewriteEngine on
RewriteBase /
RewriteRule (.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]



So, jetzt möchte ich aber, dass wenn man http://localhost//parser/parser.php?file=/RK/schuhe.htm in die Adresszeile eingibt auch http://localhost/schuhe.htm erscheint.
 
Hallo, danke schon mal, aber mitdeinem Befehl klappt das leider nicht. Er bleibt auf der Seite, was kann man da machen?
 
Hallo,
ich weiß nun warum es nicht geht. Es ist einfach nicht erlaubt Zeichen wie ? in den Redirect einzubauen. Das kann ich also leider vergessen. Gibt's sonst noch Möglichkeiten?
 
Hallo,
ok das ist jetzt nicht das Problem, ich könnte auch einfach nur /parser/parser.php schreiben, denn das ist immer gleich, ABER:
Dann wird ja die Seite index.htm aufgerufen. In der nächsten Zeile der htaccess steht aber, dass alle htm-Dateien auf die PHP-Seite weiterleiten sollen, somit entsteht eine schöne Endlosschleife, wie kann man die einfach umgehen?

P.S. Es entsteht eigentlich immer, zwangsläufig eine Endlosschleife, auch wenn ich http://localhost/index.htm direkt aufrufe.
 
QUOTE (voiture @ Fr 21.4.2006, 22:50) Hallo,
ok das ist jetzt nicht das Problem, ich könnte auch einfach nur /parser/parser.php schreiben, denn das ist immer gleich, ABER:
Dann wird ja die Seite index.htm aufgerufen. In der nächsten Zeile der htaccess steht aber, dass alle htm-Dateien auf die PHP-Seite weiterleiten sollen, somit entsteht eine schöne Schleife, wie kann man die einfach umgehen?

Das wiederrum ist wahr....
 
So sieht meine htaccess aus:
QUOTE
RewriteEngine on
RewriteBase /
RewriteRule (.*)\.htm$ /parser/parser.php?file=/RK/$1.htm [PT,QSA]
#?file=/RK/schuhe\.htm

Redirect /parser/parser.php http://localhost/index.htm



Wenn ich jetzt http://localhost/parser/parser.php eingebe lande ich bei:

CODE
http://localhost/index.htm?file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm&file=/RK/index.htm



Wenn der Browser das nicht beenden würde würde das ewig so weitergehen. Was könnte man da machen?
 
Also am besten haken wir das Thema ab, da es doch zu kompliziert ist, vielen Dank für deine Hilfe.
 
in parser.php was wie

falls
$_SERVER['REQUEST_URI'] //aufgerufener url
nicht brav .html dann $file anschauen und einen 301 werfen
 
Zurück
Oben