PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RewriteRule gesucht


sourcecode
30.08.2003, 11:58:21
Hallo,

würde gerne alle Anfragen auf die Datei index.php im Startverzeichnis umleiten. Wie lautet die RewriteRule dafür ?

Gweilo
30.08.2003, 13:31:40
header("location: wohin.php");

hoffentlich hab' ich die frage richtig verstanden.

sourcecode
30.08.2003, 15:26:46
Ups. Hab mich missverständlich ausgedrückt. Ich meine nicht, dass ich alle Anfragen auf die Datei "index.php" im Startverzeichnis umleiten möchte (wüsste selber, dass ich dafür Header verwenden kann), sondern ich meine, dass ich alle Anfragen auf eine beliebige Datei in einem beliebigen Verzeichnis zu der Datei index.php im Startverzeichnis umleiten möchte. Hoffe, es ist jetzt verständlich. Will das mit rewrite machen. In der index.php im Startverzeichnis kann ich dann die Anforderung des Client auswerten...

c4
30.08.2003, 15:34:54
Vielleicht klappt's ja so:RewriteEngine on
RewriteRule !(index.php) /is/htdocs/www.domain.de/index.php [L] Die Verzeichnisangabe muss die DocumentRoot sein und mod_rewrite muss als Modul im Apachen geladen sein.
Vermutlich wird domain.de/mist/index.php noch nicht zu domain.de/index.php umgeschrieben. Dann kannst Du ja mal die DocumentRoot bei !(...) einbauen, vielleicht klappt's dann.

Fuchs
30.08.2003, 20:15:29
RewriteEngine On
RewriteRule .* index.php

sourcecode
30.08.2003, 23:46:14
Also ich hab es jetzt so:

RewriteRule !(index.php) /index.php

Damit werden alle Zugriffe auf Dateien, die nicht index.php heißen, auf die index.php im Startverzeichnis umgeleitet. Ruft man die index.php im Startverzeichnis direkt auf, ist das kein Problem, dass da nicht umgeleitet wird, aber sobald man in einem Unterverzeichnis eine index.php aufruft, kann die index.php im Startverzeichnis das nicht verarbeiten.

Fuchs
31.08.2003, 00:34:48
1. RewriteRule leitet nicht um. (Ausser explizit angegeben).
2. Funktioniert meine RewriteRule?

RewriteEngine On
RewriteRule .* /index.php

sourcecode
02.09.2003, 14:52:20
1) Ja, die RewriteRule leitet nur intern um, in der Adressleiste steht noch die eingegebene URL
2) Irgendwie muss man ja die index.php im Startverzeichnis ausschließen, damit sich der Server nicht in einer Schleife von (internen) Umleitungen verfängt - aber eben nur die index.php aus dem Startverzeichnis, bei Unterverzeichnissen soll ja umgeleitet werden.

Fuchs
04.09.2003, 22:47:54
Verbesserung:

RewriteRule !^index.php /index.php [L]