Ich brauche KurzURLaub! (29. Dezember 2004)

Wer schon ein bißchen meine TWiki-Seiten durchstöbert hat, hat sicher bemerkt, daß TWiki-URLs ihre Eigenheiten haben. Statt eines Verweises auf eine statische HTML-Seite bezeichnet eine TWiki-URL den Aufruf von CGI-Scripts mit Parametern:

   http://www.clausbrod.de/Atari                    # typisch "statisch"
   http://www.clausbrod.de/cgi-bin/view.pl/Atari/   # TWikifizierte URL

Ohne Zweifel tippt und merkt sich die erste Form viel leichter. TWiki basiert aber nun einmal auf von CGI-Scripts dynamisch erzeugten HTML-Seiten. Das ist natürlich noch lange kein Grund, mit diesen Interna hausieren zu gehen, indem man solche URLs nach außen gibt, denn so etwas ist definitiv uncool. Aber es zu beheben, ist leider gar nicht so einfach.

Nach einigem Kopfkratzen und Geschraube funktioniert die obige erste URL-Form sogar. Naja, so ein bißchen jedenfalls. Eine kleine Sammlung von RedirectMatch-Anweisungen (Apache-Modul mod_alias) in der passenden .htaccess-Datei macht es möglich, die einfache URL-Form zu verwenden. Die wird dann von RedirectMatch in die Langform verwandelt, und die richtige Seite erscheint. Soweit nicht schlecht, nur: In der URL-Eingabezeile des Browsers erscheint nun wieder die Langform der URL.

Lange URLs

Das liegt, so denke ich, daran, daß RedirectMatch die URL zuerst umformt und dann an den aufrufenden Browser zurückschickt mit dem Vermerk, daß sich die URL geändert hat - worauf der Browser es mit der neuen URL einfach nochmal versucht. (Wer mich bei einer dumpfbackigen Fehlinterpretation erwischt, grätsche hier bitte beherzt dazwischen.) Und das macht die "neue", also lange URL eben wieder sichtbar.

Der nahe Verwandte von RedirectMatch namens ScriptAliasMatch scheint ohne Rekurs zum Client zu funktionieren - aber sobald ich entweder ScriptAlias oder ScriptAliasMatch verwende, schlagen alle Zugriffe auf meine Website mit einem Serverfehler fehl. Das liegt wohl daran, daß ScriptAlias und ScriptAliasMatch nur in der Konfigurationsdatei httpd.conf, aber nicht in .htaccess erlaubt sind. Auf httpd.conf habe ich aber bei meinem Provider (Strato) keinerlei Zugriff, muß mich also mit .htaccess begnügen.

Die einschlägigen TWiki-Tricks zu diesem Thema verweisen meist auf das Apache-Modul mod_rewrite. Zwar setzt Strato auf dem kleinen Stück Server, das ich dort gemietet habe, tatsächlich Apache ein, jedoch ist mod_rewrite dort nicht installiert. Offenbar kann man es auch nicht nachinstallieren, sondern braucht dazu einen eigenen Root-Server - was ich mir vorläufig nicht antun will.

Fürs Erste begnüge ich mich also mit dem bisher Erreichten. Links, die in TWiki-Seiten auftauchen, verweisen ebenfalls auf kurze URLs und werden dann ebenfalls dynamisch umgeleitet; das habe ich mit einer kleinen Änderung in DefaultPlugin erreicht. Und wer weiß, vielleicht inspirieren mich ja die folgenden einschlägigen TWiki-Artikel:

PS: Inzwischen habe ich die Artikel gelesen. Leider keine Lösung darin zu finden.



When asked for a TWiki account, use your own or the default TWikiGuest account.


Revision: r1.1 - 28 Jan 2007 - 22:32 - ClausBrod
Blog > BlogOnSoftware20041229
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback