PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mod_rewrite Frage



bayowar
10.09.05, 14:29
Ich mache für eine Website eine Art Übergangsseite, die zwischen der alten
und der neuen Version besagter Website als Patzfüller dient.

Nun will ich alle Anfragen auf die Domain mit einem 301-Redirect auf / umleiten,
außer natürlich, wenn direkt auf / zugegriffen wird.

Zum Beispiel hatte ich auf der alten Homepage eine artikel.php, die unter der
Übergangsseite nicht mehr existiert. Alle Anfragen auf diese artikel.php sollen
nun zurück nach / geschickt werden.

Ich habs schon folgendermaßen probiert:


RewriteCond %{REQUEST_URI} ^[^/]+$
RewriteRule ^(.*)$ http://domain.de/ [R=301,L]

Da passiert gleich ma garnichts.


Wär toll, wenn mir jemand helfen könnte.

Roger Wilco
10.09.05, 17:16
Ich frag mich manchmal wirklich, warum so viele Leute sich an mod_rewrite schwertun, wenn es einfachere Alternativen gibt.

An deiner Stelle würde ich auf der alten Seite eine generelle Weiterleitung mit RedirectPermanent (http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect) auf die neue Seite machen. Dort kannst du dann deine index.html (oder was auch immer) als ErrorDocument (http://httpd.apache.org/docs/2.0/mod/core.html#errordocument) für den Fehler 404 eintragen.

bayowar
10.09.05, 19:28
Mein apache is etwas schlanker, hab kein mod_alias am laufen.

Hab nun aber auch eine Lösung mit mod_rewrite gefunden ..

RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*\.php$ [NC]
RewriteRule ^(.*)$ http://domain.de/ [R=301,L]

Es werden einfache alle *.php-Anfragen auf domain.de umgeleitet.