Ein Problem welches mit Sicherheit viele Webmaster kennen. Der Apache Webserver liefert in der Standardkonfiguration bei Aufruf einer Domain (oder auch eines Unterverzeichnisses) die index.php
, index.htm
oder index.html
Datei aus. Dies ist auch gut so und völlig ok. Doch die Datei lässt sich trotzdem noch durch die Eingabe von index.php
in der URL aufrufen (Bsp. http://www.example.com/index.php
).
Aus Sicht der Suchmaschinen Indexierung ist dies natürlich nicht so toll, da die Seite dann ja eigentlich zweimal existiert, nämlich einmal unter der Domain selbst (hier www.example.com
) und einmal unter der Domain und dem Aufruf der Datei. Wenn keine Links auf die URL mit Dateiname bestehen ist das eigentlich kein Problem, dann sollte sie auch nicht indexiert werden, doch sich darauf zu verlassen ist schon eher als fahrlässig zu bezeichnen.
Was tun?
Wie immer führen mehrere Wege nach Rom. Entweder man verwendet PHP um eine 302 Umleitung einzurichten, oder eine entsprechende .htaccess
Anweisung mit Hilfe des Apache Modules mod_rewrite
. Die .htaccess
ist in jedem Fall zu bevorzugen, da die Verarbeitung des PHP-Skripts mehr Serverenergie kostet und die .htaccess
kaum bis gar nicht. Wenn sich der Unterschied für den Benutzer auch nur auf wenige Millisekunden beläuft, so macht er für unseren Server einen großen Unterschied wenn viele Leute das Skript gleichzeitig aufrufen (auch wenn dies wahrscheinlich niemals der Fall sein wird, alleinig die Tatsache, dass es so sein könnte macht einem die Entscheidung eigentlich leicht).
Folgendes müsst ihr in eurer .htaccess
Datei notieren:
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L] </IfModule>
Die IfModule
-Abfrage sorgt dafür, dass euer Server nicht Fehler 500 zurückgibt falls das Modul nicht aktiviert sein sollte auf eurem Server.
Keine Kommentare:
Kommentar veröffentlichen