.htaccess: Weiterleitung von 404 Seiten an eine Funktion
Das man mit .htaccess Dateien nützliche Sachen anstellen kann, sollte jeder Web-Entwickler wissen. Doch dass man damit auch SEO Funktionalitäten, also kurze Links oder komplette Funktionen aufrufen kann, wissen nur eingefleischte Fans dieser Methode. Ich möchte Euch hier einmal zeigen, wie man auf seiner Seite die genutzten Links mit Hilfe einer solchen Datei kürzen und somit SEO optimiert anzeigen lassen kann.
Alles was man braucht, ist eine .htaccess Datei, die entsprechende 404 Seiten, also solche, die eigentlich nicht gefunden wurden, an eine PHP oder Perl Funktion weiterleitet.
# Mod Rewrite aktivieren
RewriteEngine on
# Basis für Mod Rewrite
RewriteBase /
# Symbolischen Links folgen
Options +FollowSymlinks
# Verzeichnisse, Files, Symlinks ausschliessen
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Per 404 eine Funktion aufrufen
RewriteRule .* /path/index.php?func=redir [L]
Nun muss nur noch die Funktion “redir” angefertigt werden. An dieser Stelle gehe ich davon aus, dass Ihr die Parameter in der URL von Eurer Main-Methode auslesen lasst. Sollte dort der Parameter “func” vorkommen, so wird die Funktion aufgerufen, dessen Wert “func” beinhaltet, an dieser Stelle also “redir”.
Dort führt Ihr eine interne Weiterleitung an die entsprechende Seite aus. Wichtig ist, dass Ihr vorher die Enviroment Variablen, also die zuvor angeforderte 404 URL auslest. Als Beispiel dient hier: www.domain.de/detail/artikelname
Nun wisst Ihr wie der aufgerufene Artikel heißt und könnt zu diesem weiterlinken, ohne die URL zu ersetzen. Durch das /detail/ wisst Ihr, dass es sich um eine Detaildarstellung eines Artikels handelt. Das Ergebnis ist also www.domain.de/detail/artikelname, wobei die interne URL zum Beispiel www.domain.de/index.php?article=x&view=full gewesen wäre. Die neue Darstellung ist wesentlich SEO freundlicher und wird von Google daher auch besser indexiert.