Goodby YOURLS

Auf meinem Weg der “Simplifizierung” wird auch mein URL Shortener abgeschaltet. Nicht das er nicht funktionieren würde oder Probleme bereitet. Nein er macht das was er soll.

Allerdings brauche ich ihn nicht mehr. Und jede PHP Anwendung muss gepflegt und gehegt werden und diese Arbeiten möchte ich minimieren.

Natürlich möchte ich die bereits “vergebenen” Kurzlinks nicht verlieren und deshalb braucht es einen “Nachfolger” der zu mindestens meine alten Links lebendig hält. (Auch wenn es nur noch ganz wenig neue geben wird.)

Die erste Idee wie man das machen könnte kam von hier. Allerdings wäre dieser Ansatz auch wieder eine Anwendung auch wenn sie mit Sicherheit nicht so pflege-intensiv wie eine PHP Anwendung ist.

Am Ende habe ich die RewriteMap Möglichkeit von Apache gewählt. Diese beiden Artikel waren dabei hilfreich.

Zuerst exportieren wir die existierenden Short URLs aus yourls und machen sie für den Webserver lesbar.

mysql -u root -p
Enter password: 
mysql> use your-yourls-db;
mysql> SELECT keyword,url FROM yourls_url WHERE clicks > 0 INTO OUTFILE '/tmp/yourls.txt' FIELDS TERMINATED BY '  ' LINES TERMINATED BY '\n';
Query OK, 2179 rows affected (0.00 sec)

chown www-data: yourls.txt

Diese Rewrite Map muß man dem Apache Server in der Host Konfiguration bekanntgeben.

 vi /etc/apache2/sites-enabled/hagen-bauer.de
     RewriteMap url_rewrite_map txt:/var/www/yourls.txt

Und in der .htaccess kann man durch folgende Regeln das Umschreiben der kurzen URLs anweisen

RewriteEngine On
RewriteCond ${url_rewrite_map:$1|NOT_FOUND} !NOT_FOUND
RewriteRule ^(.*) ${url_rewrite_map:$1|default} [R=301]