Wenn in meinem Blog ein Kommentar zu einem Eintrag geschrieben wird, werde ich über diesen per E-Mail benachrichtigt und muss diesen erst manuell freischalten. Dazu gibt es in der Benachrichtigung entsprechende Links, über die der jeweilige Kommentar direkt freigeschalten bzw. gelöscht werden kann.
Seitdem ich meine Admin-Oberfläche über HTTPS aufrufe, habe ich dabei jedoch das Problem, dass die Links nicht mehr funktionieren, da diese mit http:// angegeben sind. Also musste ich den Link bisher immer korrigieren. Da ich das aber ziemlich umständlich finde, habe ich nach einer Lösung gesucht und bin dabei auch schnell fündig geworden.
In der Konfiguration von Apache2 gibt es die Möglichkeit so genannte Redirects anzugeben, durch die der Besucher automatisch zu einem bestimmten Ziel weitergeleitet wird. Ein solcher Redirect kann beispielsweise wie folgt aussehen:
Redirect [URL-Pfad] [URL]
Redirect /impressum http://www.beispiel.de/ueber-uns/impressum
Dies konnte ich in meinem Fall jedoch nicht verwenden, da sich der URL-Pfad bei jedem Blogeintrag individuell zusammensetzt. Doch für solche Fälle gibt es mit RedirectMatch eine spezielle Redirect-Variante. Hierbei können Teile des URL-Pfads in die Weiterleitungs-URL integriert werden. Dazu muss man sich jedoch zumindest ein wenig mit Regulären Ausdrücken auskennen. Eine solche RedirectMatch-Angabe setzt sich dann folgendermaßen zusammen:
RedirectMatch [RegEx URL-Pfad] URL
In die URL können dann die eingeklammerten RegEx-Teile über $1, $2, etc. eingefügt werden. Darüber hinaus können mit dem Regulären Ausdruck natürlich auch wesentlich komplexere Redirects realisiert werden.
Die konkrete Anwendung für meinen Fall zur Moderation der Kommentare sieht dann wie folgt aus:
RedirectMatch (approve/.*) https://www.it-blog.net/$1
RedirectMatch (delete/.*) https://www.it-blog.net/$1
Für Blogs, die auf Serendipity basieren, funktioniert dies so generell, es muss lediglich der Hostname angepasst werden. Bei anderen Blogsystemen oder CMS sollte es mit ein paar entsprechenden Anpassungen ebenfalls funktionieren, natürlich vorausgesetzt, es handelt sich um einen Apache-Webserver.