Stacey für suchmaschinenfreundliche URL einrichten
Um den Prozess der Einrichtung eines Stacey CMS zu vereinfachen und abzukürzen nutzt Stacey in der Standardeinstellung abfragebasierte URL. Die Adressen der einzelnen Seiten sehen dann so aus:
http://yourdomain.com/?/page-name/
Man beachte das Fragezeichen! Man kann Stacey jedoch so umstellen, dass "saubere" URL erzeugt werden. Oft wird auch behauptet, dass derartige URL suchmaschinenfreundlicher seien. Bei dem vorherigen Beispiel verändert sich dann die URL so:
http://yourdomain.com/page-name/
Das Fragezeichen verschwindet also. Die Umstellung ist ganz einfach: man muss lediglich die bereits im Downloadpaket enthaltene Datei htaccess
umbenennen in *.*htaccess
, also einen Punkt vor den Dateinamen setzten und diese Datei dann auf den Webspace hochladen.
Übrigens bleiben auch nach Aktivierung der .htaccess die URL in der Form
http://yourdomain.com/?/page-name/
weiterhin gültig. wenn man also versäumt hat, die Umstellung frühzeitig vorzunehmen, dann führen zwischenzeitlich gesetzte Links von anderen Webseiten bzw. Google nicht ins Leere.
Probleme und Problemchen
Allerdings ist es sinnvoll, vorher zu prüfen, ob der eigene Webspace solche .htaccess-Dateien unterstützt und ob auf dem Webspace mod_rewrite aktiviert ist. Man fragt hierzu am besten bei der Serveradminstration nach oder legt kurzzeitig eine PHP-Datei mit einem phpinfo()-Aufruf an. Wenn man diese Datei im Browser aufruft, kann man nach der Zeichenkette mod_rewrite suchen.
Wenn man Stacey nicht im Wurzelverzeichnis des Webspace installiert hat, dann muss in den meisten Fällen in der .htaccess
die Zeile
#RewriteBase /
zu
RewriteBase /staceyverzeichnis/
geändert werden. In einigen Fällen ist auch dann, wenn Stacey im Wurzelverzeichnis installiert wurde, eine Änderung zu
RewriteBase /
erforderlich.
Auswirkungen der .htaccess-Aktivierung
Ich habe festgestellt, dass bei Stacey einige Dinge nicht richtig funktionieren, wenn die .htaccess deaktivert bleibt.
Feed
Mit dem Aufruf
http://yourdomain.com/?/feed/
wird eine scheinbar leere Seite angezeigt. Erst ein Blick in den Quellcode zeigt, dass es Inhalt gibt, der aber nicht angezeigt wird. Möglicherweise liegt auch ein problem mit dem Browser (Firefox) vor. Auf jeden Fall ist die Anzeige mit aktivierter .htaccess und
http://yourdomain.com/feed/
korrekt. Hier funktioniert auch
http://yourdomain.com/feed.atom
oder .json, .html und weitere Dateierweiterungen (siehe .htaccess).
XML-Sitemap
Ohne .htaccess ergibt
http://yourdomain.com/?/sitemap/
die Fehlermeldung
Undefined offset: 1 in <b>...\app\page-data.inc.php</b> on line <b>221</b><br />
Wenn die .htaccess aktivert ist, dann funktioniert
http://yourdomain.com/sitemap.xml
korrekt. Allerdings sollte keine "echte" XML-datei vorhanden sein, sonst wird diese an Stelle der virtuellen angezeigt. Hingegen führt
http://yourdomain.com/sitemap/
zur Fehlermeldung
Undefined offset: 1 in <b>...\app\page-data.inc.php</b> on line <b>221</b><br />
JSON
In beiden Einstellungsvarianten wird anscheinend vergleichbarer Code erzeugt. Da die URL unterschiedlich sind, ist der Umfang des Codes natürlich auch unterschiedlich.
Bei einigen Webspaceanbietern kann es vorkommen, dass je nach verwendetem FTP-Programm die hochgeladene .htaccess auf dem Webspace nicht angezeigt wird. Abhilfe schafft oft schon eine Veränderung der Einstellungen des FTP-Programms. Auf jeden Fall ist es aber auch in dieser Situation möglich eine geänderte .htaccess hoch zu laden.
robots.txt
http://yourdomain.com/?/robots/
liefert zwar eine entsprechende Datei, allerdings entspricht diese URL nicht den Konventionen.
http://yourdomain.com/?/robots/
und
http://yourdomain.com/?/robots.txt
führen dagegen zu einem 404-Fehler bzw. zu einer leeren Seite.
Mit aktivierter .htaccess führt
http://yourdomain.com/robots.txt
zu einem korrekten Ergebnis.