Zur Navigation

Weiterleitung von falschen zu korrekten Links

mit htaccess und mod_rewrite

1 Ruben

Hallo zusammen,
ich möchte Links nach folgendem Prinzip umleiten:

http://www.die-outlet-kueche.de/joomla/fotoline.html
-zu->
http://www.die-outlet-kueche.de/fotoline.html

http://www.die-outlet-kueche.de/joomla/nobilia.html
-zu->
http://www.die-outlet-kueche.de/nobilia.html

http://www.die-outlet-kueche.de/joomla/kuechen/allekuechen.html
-zu->
http://www.die-outlet-kueche.de/kuechen/allekuechen.html

USW...

--> Von der jeweils aufgerufenen URL soll also eigentlich nur das /joomla entfernt werden.
Ich habe dies mit folgender .htaccess versucht zu erreichen, aber es funktioniert nicht:
	
RewriteEngine on
RewriteBase /
RewriteEngine On
RewriteRule ^joomla/(.*) /$1 [R=301]

Insgesamt sind noch 130 falsche Links in Google gelistet, die automatisiert weitergeleitet werden sollen.

Hat jemand eine Idee, wie ich das realisieren kann? Der Ordner /joomla ist mittlerweile übrigens komplett leer. Es liegt nur noch eine .htaccess mit o.g. mod_rewrite darin.

Wäre klasse, wenn jemand eine Idee hat.

Viele Grüße

Ruben

15.07.2008 10:04 | geändert: 15.07.2008 10:08

2 Jörg Kruse

Hallo Ruben,

- einmal "RewriteEngine on" pro .htaccess reicht

- das Weiterleitunfsziel solte immer als vollständige URL angegeben werden

- ich würde die folgende Rule in die .htaccess des Hautpverzeichnisses packen - an den Anfang vor etwaigen anderen Rules

RewriteEngine on

RewriteBase /

RewriteRule ^joomla/(.*) http://www.die-outlet-kueche.de/$1 [R=301,L]

# etwaige andere Rules

15.07.2008 11:07 | geändert: 15.07.2008 11:08

3 Ruben

Hallo Jörg,
vielen Dank für die schnelle Hilfe. Ich habe das genauso in die htaccess eingetragen und diese in den alten Ordner /joomla gespeichert. Leider tut sich bei Aufruf eines alten Links (z.B. http://www.die-outlet-kueche.de/joomla/mundmdie-edelkueche.html) aber gar nichts. Es wird nach wie vor ein 404-Error angezeigt.

Wie gesagt: Der Ordner joomla ist leer und ich habe nur die htaccess-Datei hineinkopiert.

Viele Grüße

Ruben

15.07.2008 11:43

4 Jörg Kruse

Der Code aus meinem ersten Beitrag war für die .htaccess im Verzeichnis / gedacht - um so anderen etwaigen Rules, die dort verfasst sind, zuvorzukommen :)

Für eine .htaccess im Verzeichnis /joomla würde ich die RewriteBase noch entsprechend anpassen:

RewriteEngine on

RewriteBase /joomla/

RewriteRule ^(.*) http://www.die-outlet-kueche.de/$1 [R=301,L]

Ansonsten: grundsätzlich ist Modrewrite bei dir schon aktiviert?

15.07.2008 11:59

5 Ruben

*FREU*! Es funktioniert! Vielen Dank!

Würde eine htaccess-Datei im Root-Verzeichnis denn auch Links rewriten können, die eigentlich auf das verzeichnis /joomla verweisen? Ich dachte die htaccess-Datei müsste auf jeden Fall in den Ordner /joomla!?

Vielen Dank und Grüße

Ruben

15.07.2008 12:13

6 Jörg Kruse

Würde eine htaccess-Datei im Root-Verzeichnis denn auch Links rewriten können, die eigentlich auf das verzeichnis /joomla verweisen? Ich dachte die htaccess-Datei müsste auf jeden Fall in den Ordner /joomla!?

Man kann auch Dateien und Verzeihnisse in Unterverzeichnissen rewriten - im Idealfall kann man diese dann sogar löschen. Voraussetzung ist, dass in einer etwaigen .htaccess in /joomla die RewriteEngine nicht aktiviert ist und durch Serverkonfiguration festgelegt ist, dass die Rules sich auf Unterverzeichnisse vererben (was oft der Fall ist).

15.07.2008 12:28

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]