Umleiten eines kompletten Verzeichnisses

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Umleiten eines kompletten Verzeichnisses

Beitragvon Santos » 17.07.2006 16:21

Hallo,

ich bräuchte wieder euere Hilfe.

Wie kann ich ein Verzeichnis mit unterseiten (modrewrite) umleiten ?

Der User kommt über www.domain.de/ordner-A/1.php
Diese seite soll dann aber auf www.domain.de/ordner-B/1.php umgeleitet werden ?

Vielen Dank
Santos
.
.
 
Beiträge: 9
Registriert: 08.06.2006 19:08

Beitragvon Santos » 17.07.2006 17:45

Im Moment sieht das ganze so aus:

Code: Alles auswählen
RewriteRule ^alter_ordner/p([0-9]+) /neuer_ordner/$1 [R=301,L]


das geht aber nicht - woran liegt das denn ?
Santos
.
.
 
Beiträge: 9
Registriert: 08.06.2006 19:08

Beitragvon Bob » 17.07.2006 21:25

Und du nutzt das in .htaccess-Dateien und diese liegt unter /.htaccess? Und in /alter_ordner/.htaccess werden keine RewriteRules definiert?

Prinzipiell genügt auch RedirectMatch von mod_alias

Code: Alles auswählen
RedirectMatch 301 ^/alter_ordner/p([0-9]+) http://example.com/neuer_ordner/$1
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon Santos » 18.07.2006 08:23

Hi,

geht leider noch nicht ...

die htaccess sieht so ... aus (liegt im hauptverzeichnis von "index.php" etc.)

Code: Alles auswählen
RewriteEngine on
RewriteRule ^alter-ordner/([0-9]+).php$ alter-ordner/detail.php?id=$1
RewriteRule ^alter-ordner/p([0-9]+).php$ alter-ordner/premium.php?id=$1
RewriteRule ^neuer-ordner/([0-9]+).php$ neuer-ordner/detail.php?id=$1
RewriteRule ^neuer-ordner/p([0-9]+).php$ neuer-ordner/premium.php?id=$1
RedirectMatch 301 ^/alter-ordner/p([0-9]+) http://www.domain.de/neuer-ordner/$1


weder im "neuen-Ordner" noch im "alten-Ordner" ist eine weitere htaccess.
Wie oben geschreiben - ist nur eine htaccess auf der Webseite zu finden - im Hauptverzeichnis.

Muss ich denn den "alten Ordner" komplett löschen ? hier sind die gleichen Dateien vorhanden wie im "neuen-Ordner".
Santos
.
.
 
Beiträge: 9
Registriert: 08.06.2006 19:08

Beitragvon Bob » 18.07.2006 22:32

Du müsstest normal diese Regeln löschen:

RewriteRule ^alter-ordner/([0-9]+).php$ alter-ordner/detail.php?id=$1
RewriteRule ^alter-ordner/p([0-9]+).php$ alter-ordner/premium.php?id=$1
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon Santos » 19.07.2006 08:19

Hi,

hab ich gemacht - dann kommt aber folgender Fehler/Hinweis:
..................................................................................
Objekt nicht gefunden!

Der angeforderte URL konnte auf dem Server nicht gefunden werden. Sofern Sie den URL manuell eingegeben haben, überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 404
....................................................................................

Die neue htaccess:

Code: Alles auswählen
RewriteEngine on
RewriteRule ^firmen/([0-9]+).php$ firmen/detail.php?id=$1
RewriteRule ^firmen/p([0-9]+).php$ firmen/premium.php?id=$1
RedirectMatch 301 ^/alter-ordner/p([0-9]+) http://www.domain.de/firmen/$1


Muss ich die 404 Fehlerseite auch noch mit einer Regel belegen ?
Santos
.
.
 
Beiträge: 9
Registriert: 08.06.2006 19:08

Beitragvon Santos » 19.07.2006 08:45

Vielen DANK

hat sich erledigt - es funktioniert :-)
Santos
.
.
 
Beiträge: 9
Registriert: 08.06.2006 19:08


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron