Neue Slugs
Jeder Blogeintrag hat einen Titel, zum Beispiel »Maximilianstraße nun Fußgängerzone«. Das möchte ich so aber nicht als Ordnernamen im Dateisystem nutzen, weil die Leerzeichen manche Dinge aus dem Tritt bringen. Also habe ich das alles in Kleinbuchstaben konvertiert und dann die Leerzeichen durch Bindestriche ersetzt. Heraus kommt dann maximilianstraße-nun-fußgängerzone
. Das ist soweit auch total okay. Kopiert man das aber aus dem Browser heraus, so wird daraus dann die URL-kodierte Variante maximilianstra%C3%9Fe-nun-fu%C3%9Fg%C3%A4ngerzone
, die einfach hässlich aussieht.
Es gibt das Python-Paket Unidecode, das Unicode-Zeichen durch ihr nächstes ASCII-Äquivalent ersetzt. Somit kommt man dann bei maximilianstrasse-nun-fussgangerzone
heraus. Das ist etwas merkwürdig zu lesen, weil wir »ä« eher mit »ae« umschreiben würden. Allerdings ist es so allgemeiner und klappt auch mit dem dänischen »ø« oder chinesischen Schriftzeichen, die dann durch Pinyin ersetzt werden.
Bei der Umbenennung der bestehenden Artikel muss ich wieder darauf achten, dass alle Links weiterhin funktionierten. Daher bekommt jeder Artikel dann einen Eintrag in die .htaccess
Datei:
Redirect permanent /posts/maximilianstraße-nun-fußgängerzone /posts/maximilianstrasse-nun-fussgangerzone
Und so habe ich URLs ohne Sonderzeichen, alle alten URLs gelten noch. Wenn man die URLs zu etwas herauskopiert, das kein Unicode unterstützt, sieht es ein bisschen ordentlicher aus als vorher.