Fryboyter

Slug aus URL mit htaccess entfernen

Normalerweise haben die Links auf Artikel mit Bolt CMS den Aufbau https://fryboyter.de/entry/Titel-des-Artikels. Die habe ich mittels der Routingfunktion auf https://fryboyter.de/Titel-des-Artikels umgebogen. Soweit so gut.

Zum Erzeugen des kompletten RSS-Feeds nutze ich allerdings die Erweiterung bolt-extension-rssfeed. In dieser ist die URL dann allerdings wieder https://fryboyter.de/entries/Titel-des-Artikels. An sich kein Problem, da die Artikel mit und ohne /entries aufgerufen werden können. Wäre da nicht Isso Comment.

Isso Comment verknüpft die Kommentare und Artikel anhand des Titels. Und da ist der mit /entries eben ein andere als ohne. Ruft nun jemand einen Artikel über den globalen RSS-Feed auf und gibt einen Kommentar ab, wird die URL mit /entries in der Isso-Datenbank gespeichert. Da ich aber eben die Artikel dank des Routings ohne /entries veröffentliche tauchen die Kommentare somit auch nicht auf, so dass ich hier immer in der SQLite-Datenbank herumpfuschen muss. An sich kein Problem es nervt aber trotzdem.

Im Template für den RSS-Feed oben genannter Erweiterung gibt es folgende Codezeile.

<link>{{ url('contentlink', { 'contenttypeslug': record.contenttype.singular_slug, 'slug': record.slug } ) }}</link>

In meinem nicht mehr ganz so jugendlichen Leichtsinn habe ich mir gedacht es reich hier einfach ‘contenttypeslug’: record.contenttype.singular_slug, zu entfernen. Pustekuchen. Sobald man versucht den Feed aufzurufen bekommt man eine unschöne Fehlermeldung. Zum einen reichen meine Programmierkenntnisse hier definitiv nicht aus, dass Problem zu lösen und zum anderen müsste ich nach jedem Update der Erweiterung diese anpassen. Also muss, zumindest vorübergehend, eine andere Lösung her.

Schlussendlich habe ich einfach die .htaccess-Datei für Bolt CMS angepasst. In dieser haben ich den Bereich <IfModule mod_rewrite.c> gesucht und in diesem folgende Zeile eingetragen.

RewriteRule ^entrie/(.+)$ https://fryboyter.de/$1 [R=301,L]

Abschließend noch den Cache von Bolt CMS gelöscht und fertig. Ruft nun jemand einen Link mit /entrie/ auf, wird er automatisch auf die Version ohne /entrie/ umgeleitet. Ich denke das ist derzeit die beste Lösung mit der ich nicht an der Erweiterung herumpfuschen muss.

Linux | OSBN

Htaccess, RewriteCond und RewriteRule. Oder wie treibt man mich in den Wahnsinn

Ich hatte am vergangenen Wochenende einige Sachen im Board umgestellt. Soweit ja kein Problem. Nur hat nun der Link der bei Google auf meine TrueCrypt-FAQ gezeigt hat (http://www.operation-tunnelbau.de/index.php?topic=27.0), nicht mehr gepasst. Diesen wollte ich nun auf das Wiki umleiten. Und was soll ich sagen? Ich hasse Htaccess, RewriteCond und RewriteRule. Naja eigentlich bin ich vermutlich einfach zu blöd dazu. Hier nun des Rätsels Lösung. Vielleicht hilft das den einen oder anderen ja weiter.

RewriteCond %{SCRIPT_FILENAME} index.php 
RewriteCond %{QUERY_STRING} topic=27\\.0
RewriteRule ^(.*)$ http://www.wiki.operation-tunnelbau.de? [L,R=301]

Im Grunde eigentlich nicht schwer und Gott sei Dank ohne kompliziertes Regex. Sonst wäre es komplett vorbei gewesen.

OSBN | Allgemein