Hallo Community,
um auf dem localhost zu Testzwecken SEO und URL-rewrite einzurichten habe ich ein Mini-Tutorial erstellt. Kommentare, Kritik und Anregungen sind ausdrücklich erwünscht.
Ziel: Nutzen der SEO und der URL-rewrite in der Konfiguration von Joomla auf localhost. Damit werden URL's suchmaschinenfreundlich.
Benutzte Dokumente:http://www.bloggerschmidt.de/blog/item/joomla-seo-fuer-google-und-co-suchmaschinenoptimierung.htmlhttp://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLshttp://www.entwicklerblog.net/server/mod_rewirte-bei-apache2-aktivieren/Durchführung:1.) Umbenennen der Datei
htaccess.txt im Joomla-Installationsverzeichnis zu
.htaccess (Anm.: Unter Windows macht das Umbenennen gewöhnlich Schwierigkeiten. Deshalb am besten in der Eingabeaufforderung per cmd.exe umbenennen oder besser mit dem Programm FileZilla, welches in der XAMPP-Installation enthalten ist.);
2.) Die
.htaccess in einem Texteditor öffnen und in der Zeile
#RewriteBase /das Rautenzeichen # entfernen sowie hinter dem Slash das Joomla-Verzeichnis eintragen. Beispielsweise sieht danach die Zeile so aus:
RewriteBase /joomla17wenn sich die Joomla-Installation im Verzeichnis C:XAMPP\htdocs\joomla17 befindet
3.) Prüfe, ob die lokale Webseite noch läuft. Erscheint hier eine Fehlerseite "
Objekt nicht gefunden! Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler. Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber. Error 404, localhost [Datum und Uhrzeit]" dann stimmt das Joomla-Verzeichnis nicht (d.h. zurück zu Punkt 2 !).
4.) Ändere im Backend der Joomla-Installation per Konfiguration -> Site -> Suchmaschinenoptimierung (SEO) den Parameter 'URL-Rewrite nutzen' von "Nein" auf "Ja". (Anm.: Damit wird in der URL die Angabe "index.php" entfernt !
5.) Prüfe, ob die lokale Webseite noch läuft. Erscheint hier eine Fehlerseite
"Serverfehler! Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten. Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber. Error 500, localhost [Datum und Uhrzeit]", dann muss die Konfigurationsdatei httpd.conf des Apache-Servers angepasst werden:
6.) Im Verzeichnis apache/conf/ ist die Datei
httpd.conf mit einem Editor zu öffnen (z.B. mit Notepad++ auf
http://notepad-plus-plus.org/ ) und nach einer Befehlszeile
#LoadModule rewrite_module modules/mod_rewrite.sosuchen und prüfen, ob die Zeile durch ein vorangestelltes Rautenzeichen # als Kommentar gekennzeichnet ist. Wenn ja, dann das # entfernen und die Datei
httpd.conf speichern.
7.) Den Apache-Server beenden und neu starten. (Geht am besten mit dem Tool "XAMPP Control Panel 3" von Steffen Strüber:
http://www.apachefriends.org/f/viewtopic.php?f=4&t=46647 )
8.) Sieht die URL im Home-Verzeichnis jetzt beispielsweise so aus:
http://localhost/joomla17/ statt zuvor von der Art
http://localhost/joomla17/index.php?option=com_content&view=featured&Itemid=101dann ist es geschafft !
9.) Optional kann in der Joomla-Administration noch der Parameter 'Dateiendung an URL anfügen' auf "Ja" gestellt werden. Damit wird am Ende der URL für eine Unterseite nur noch ein .html angehängt, was aber nur der Optik dient:
http://localhost/joomla17/.../unterseite.htmlZusatz-Bemerkung:
In der Datei
httpd.conf befanden sich standardmäßig folgende Einträge innerhalb des Directory-Blocks:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>Damit funktionierte SEO und URL-rewrite. Ein Ändern des Parameters AllowOverride von 'None' in 'All' hatte bei mir keine erkennbaren Auswirkungen.