von tobias |
Danke, klappt wunderbar! |
von einstein |
Die RegExp mit Unterstrich:
^([_A-Za-z0-9]*).html$ /index.php?page=$1
|
von tobias |
einstein schrieb am 12.11.2003 22:30
ich kann es im Moment nicht testen, jedoch würde ich es einmal mit einem / vor dem (.*) Platzhalter versuchen. |
Habe ich schon probiert, klappt leider nicht.
einstein schrieb am 12.11.2003 22:30Du könntest es auch einmal so versuchen:
^([A-Za-z0-9]*).html$ /index.php?page=$1 |
Das sieht sehr gut aus, allerdings habe ich auch Seiten, die einen Unterstrich (_) im Namen enthalten (z. B. "seite_xyz.html"), die fallen dann leider auch raus. Lässt sich dieses Zeichen nicht noch irgendwie einbauen?
|
von einstein |
ich kann es im Moment nicht testen, jedoch würde ich es einmal mit einem / vor dem (.*) Platzhalter versuchen.
Du könntest es auch einmal so versuchen:
^([A-Za-z0-9]*).html$ /index.php?page=$1
Dadurch würden dann nur [Buchstaben/Zahlen].html geparst, also keine Slashes, die es ja bei einem Unterverzeichnis geben würde.
k/a obs funktioniert, aber einen Versuch sollte es wert sein |
von languitar |
ka, obs geht: RewriteBase /Verzeichnis |
von tobias |
Für eine Website habe ich folgende .htaccess-Datei erstellt:
1:
2: | RewriteEngine on
RewriteRule ^(.*).html$ /index.php?page=$1 |
Das klappt auch ganz problemlos, allerdings werden nun auch richtige HTML-Dateien, die sich in Unterverzeichnissen des Servers befinden, an das Skript (index.php) weitergeleitet, wodurch diese nicht angezeigt werden. Ist es möglich, die Regel in der .htaccess-Datei nur für das Hauptverzeichnis gelten zu lassen?
Die Dateiendung für meine "falschen" HTML-Seiten (.html) möchte ich nicht ändern. Es ist in meinem Fall auch nicht möglich, im Unterverzeichnis eine weitere .htaccess-Datei zu platzieren, die die "RewriteEngine" abschaltet. Ich vermute, mein Problem lässt sich mit einem komplexeren regulären Ausdruck lösen. Hat jemand einen Idee zur Lösung? |
|