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.

Cleaning JSON