Monday, January 12. 2009Bericht: Umstellung der Homepage
Das Verzeichnis von Serendipity in einen Unterordner zu verschieben ist ja erstmal kein Problem. Dennoch muss man einige Punkte beachten:
Da ich mit URL-Rewriting arbeite, kann man einige Probleme galant umgehen. Aber nun Schritt für Schritt, wie ich die Serendipity-Installation verschoben habe. Serendipity wird bei mir prinzipiell als Shared-Blog installiert. Das heißt, die erforderlichen Dateien werden an eine zentrale Stelle auf dem Webspace abgelegt. Für den Blog werden Dateien aus dem deployment-Verzeichnis genutzt, die auf die Kern-Dateien verweisen. Das spart Platz und beschleunigt das umkopieren/verschieben von Dateien erheblich.
Zuerst legte ich mir ein Verzeichnis „blog“ an und kopierte alle Dateien, die für Serendipity notwendig sind, aus dem Web-Root in das neue Verzeichnis. Auch die .htaccess und die serendipity_config_local.inc.php nicht vergessen! Nun musste ich im „blog“-Verzeichnis die .htaccess anpassen: Wie man sieht, habe ich an drei stellen /blog eingefügt. Mehr musste nicht gemacht werden. Die restlichen Einträge mit den RewriteRules blieben unberührt. Als nächstes musste ich jede einzelne Serendipity-Datei öffnen und den Pfad zu einer Konfigurations-Datei anpassen. Diese ist von mir selbst erstellt worden und enthält den Pfad zu den Serendipity-Kern-Dateien. Wenn man nun den Blog über die neue URL www.example.com/blog/ aufruft, sollte man keinen Fehler bekommen. Allerdings sind noch alle Links auf den alten Blog gerichtet. Die Anpassung habe ich direkt in der Datenbank in der Tabelle s9y_config vorgenommen. "s9y_" ist übrigens der Tabellen-Prefix, der standardmäßig auf "serendipity_" steht. Um jetzt dem Blog die richtigen URLs beizubringen, müssen folgende drei Einträge geändert werden:
Nun war der Serendipity im Unterverzeichnis „blog“ betriebsbereit. Und auch der alte Blog verwies nun schon auf die neuen Einträge. Was aber nicht meine Intension war. Ich will meine eigenen Seiten im Web-Root ablegen. Deshalb störte der alte Blog. Und die Weiterleitungen mussten noch angelegt werden. Dazu musste die .htaccess-Datei im Web-Root angepasst werden. Dort fügte ich einfach eine 301er-Weiterleitung ein. Nun weiß eine Suchmaschine, das ein Eintrag permanent an die neue Stelle verschoben wurde. Hier nun die .htaccess: Wie man sieht, ist das ein Teil aus der .htaccess-Datei von Serendipity. Ich schicke alle Aufrufe die was mit dem alten Blog zu tun haben nach blog/ weiter. Die dortige .htaccess kümmert sich dann um die Weiterleitung an Serendipity. Meine .htaccess hat noch einige mehr Einträge, die für meine neue HP notwendig sind. Natürlich muss man auch aufpassen, ob eine URL, die von Serendipity genutzt wird, evtl. mit der neuen Homepagestruktur Probleme verursacht. Zum Beispiel gibt es einen Nebeneffekt, wenn man unter www.example.com/admin einen eigenen Admin-Bereich aufbaut. Es wird automatisch nach www.example.com/blog/admin/ weitergeleitet und man landet im Login von Serendipity. Um dies zu umgehen muss man folgendes ändern: Alt: Neu: Damit ist das Problem umgangen. Und es gibt noch eine Besonderheit: Alles was über www.example.com/feeds/ aufgerufen wird, wird nicht mit einer 301 weitergeleitet, sondern 1:1 von www.example.com/blog/feeds/ zurückgegeben. Auf deutsch: Die RSS-Feeds ist über zwei URLs erreichbar. Aber hier: Die Feeds nach Kategorien und Autoren geordnet sind 301er Weiterleitungen. Theoretisch könnte man auch hier schreiben: Oder noch kürzer: Diese Einträge könnten gelöscht werden, da diese durch den anderen Feed-Eintrag weiter unten ebenfalls weitergeleitet werden. Auch hier kümmert sich die .htaccess von Serendipity um die korrekte Umwandlung. Als nächstes habe ich nun die Dateien für meine neue HP hochgeladen und die alten Serendipity-Dateien im Web-Root umbenannt. Nun sollte man noch alle Blog-Einträge anpassen, die Dateien aus der Medien-Datenbank eingebunden haben. Zum Schluss, nachdem alles funktionierte, habe ich die alten Serendipity-Dateien im Web-Root gelöscht. Die ganze Umstellung hat mit kopieren, Einträge ändern und Test etwa eine halbe Stunde gedauert. Allerdings hatte ich die .htaccess-Datei schon vorbereitet und getestet. Wer keine Shared-Installation vorgenommen hat, muss natürlich einige Dateien mehr verschieben. Sonst dürften die Schritte die selben sein. Trackbacks
Trackback specific URI for this entry
No Trackbacks
|
KategorienBlog abonnierenBlog Administration |