Rewrite der SEF URL mit .htaccess richtig konfigurieren

Zusammenfassung: Wenn ihr SEF URLs mit eurem bekannten SEO Tool erstellen lässt, benutzt mod_rewrite und .htaccess und nicht index.php oder index.php?.

Was war mir passiert

Mit meinem SEO Tool lasse ich meine URLs umschreiben.

  • Angeboten werden folgende Möglichkeiten:
    • .htaccess
    • index.php
    • index.php?

Durch eine von mir falsch vorgenommene Konfiguration der .htaccess Datei, war es nicht möglich, dass meine URLs ohne den Vorsatz von index.php? auskamen.
Ich musste mit dem experimentellen index.php? auskommen, konnte .htaccess und mod_rewrite nicht nutzen.

  • Dies beruhte leider damals auf mangelndem Wissen und falsch betrachteter Dokumentation.

Meine URLs sahen so aus:

Nachteile mit index.php? in der URL

Recht bescheiden in der Optik. Manche Suchmaschinen mögen auch kein ? – Symbol in der URL.

Ich akzeptierte diesen Umstand, wenn auch die URLs nicht so aussahen, wie ich das wollte.

Wie änderte ich dies

Nach mehreren Wochen versuchte ich Testweise mit .htaccess wieder zu arbeiten. Ich stellte fest, dass es nun doch funktioniert.

Ich hatte bei meinen frühen Versuchen die Datei falsch editiert und benötigte Stellen falsch auskommentiert. Nun gelang dies.

Saubere URLs in dieser Form waren nun möglich:

Ich stellte nun den rewrite-Modus um, löschte entsprechend mit dem Webmaster-Tools die alten, falschen Links und leitete auf die neuen Links um.

Für Joomla passende .htaccess wenn SEF Tool installiert

  • So sollte der Part der Datei aussehen:

########## Begin – Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named ‚content‘ or ‚component‘ on your server
## If you do not have directories with these names, comment them out.
#
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]         ##optional – see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
#RewriteRule ^(content/|component/) index.php
#
########## End – Joomla! core SEF Section

########## Begin – 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension – e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]         ##optional – see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
#
########## End – 3rd Party SEF Section