Zur Navigation

.htaccess mit Joomla

1 Mike (Gast)

Hallo Jörg,

auf der Suche nach einer Anleitung habe ich Deine Seite gefunden und einige Beispiele "durchgespielt".

Leider brachte es keinen Erfolg :(

Ich arbeite mit Joomla und habe die Installation in einen, warum damals auch immer, Ordner (cms) vorgenommen. Mit dem Umstieg auf eine neue version inkl. kurzer Links (wenn man schon mal dran ist dann richtig) erfolgte die Installation im root. Nun wollte ich die alten und langen Links auf die neuen und kurzen Links per .htaccess umleiten.

Gesagt und... leider nicht getan... bin am verzweifeln. Meine Kentnisse sind was .htaccess und Umleitung angeht gleich 0, alle versuche brachten keinen Erfolg....

Beispiel
ALTER LINK:
http://www.domain.tld/cms/index.php?option=com_contact&Itemid=1

NEUER LINK:
http://www.domain.tld/kontakt.html

Beispiel eine meiner letzten .htaccess Dateien im Ordner CMS:
rewriteEngine on
rewriteRule ^http://www.domain.tld/cms/index.php?option=com_contact&Itemid=1$ http://www.domain.tld/kontakt.html [R=permanent,L]

Der alte Link innerhalb von ^ und $ permanent auf den neuen Link, weglassen der Domain, mit CMS nur die Index oder auch der Serverpfad brachten keinen Erfolg.

Wie schaffe ich die Umleitung auf die neuen Links?

07.03.2010 20:44

2 Jörg Kruse

In die RewriteRule gehören nur Pfad und Dateiname. Für den Host oder den Query String müssen RewriteConds definiert werden (ersteres ist hier wohl abergar nicht notwendig)

RewriteCond %{QUERY_STRING} option=com_contact&Itemid=1
RewriteRule index\.php http://www.domain.tld/kontakt.html? [R=301,L]

Mit dem ? am Ende wird der alte Query String abgehangen.

07.03.2010 22:51

3 Mike (Gast)

Hallo Jörg, danke für die schnelle Antwort.

In der Art hatte ich es auch schon versucht, bringt aber nur ein 404:
The requested URL /cms/index.php was not found on this server

Den Punkt ausmaskieren mit \ hatte ich auch schon versucht.

Ich habe die htaccess in den Ordner CMS gelegt, liegt hier vielleicht der Fehler?

08.03.2010 19:49

4 Jörg Kruse

Der obige Code wirkt sich auf die Dateien desjenigen Verzeichnisses aus, in welchem die .htaccess Datei liegt; Unix- bzw. Linux-Server sind case sensitive, d.h. "cms" und "CMS" sind dort zwei verschiedene Verzeichnisse; wenn du URLs aus dem Verzeichnis cms weiterleiten möchtest, musst du die .htaccess ins Verzeichnis cms legen

Punkte müssen (und sollten) nur in den Mustern maskiert werden, nicht in der Ziel-URL

Die RewriteEngine hast du eingeschaltet?

RewriteEngine on

08.03.2010 20:05

5 Mike (Gast)

Ja, habe ich... kleiner Schreibfehler, grosse Wirkung und keine "Brille" zur Hand - Es geht :)

Herzlichen Dank für Deine schnelle Hilfe.

09.03.2010 11:21

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]