Handbuch:Kurz-URL

From mediawiki.org
This page is a translated version of the page Manual:Short URL and the translation is 100% complete.
Dieser Artikel behandelt die URL-Struktur. Siehe Erweiterung:ShortUrl für das Erstellen von Kurz-URLs für Artikel. Für das Erstellen eines URL-Verkürzungsservice, siehe Erweiterung:UrlShortener .

Kurz-URLs oder URL Rewrites verbergen die Datei-Erweiterung von PHP in der Seitenadresse. Nimm dir ein paar Minuten Zeit, um eine stabile URL-Struktur für deine Webseite auszuarbeiten, bevor du anfängst. Das veringert spätere Probleme.

Einleitung

Ziel

Der Standard-Installationspfad von MediaWiki sieht wie folgt aus:

/var/www/html/mediawiki (wenn vom Root-User installiert)
/home/johndoe/public_html/mediawiki (wenn beim Shared-Hosting-Provider installiert)

MediaWikis standardmäßige Seitenadressen ähneln diesen Beispielen:

https://example.org/w/index.php/Page_title (aktuelle Versionen von MediaWiki, ohne CGI-Unterstüzung)
https://example.org/w/index.php?title=Page_title (aktuelle Versionen von MediaWiki, mit CGI-Unterstüzung)

Mit den Methoden, wie sie auf dieser Seite umrissen werden, können wir MediaWiki so konfigurieren, dass es in etwa so aussieht:

https://example.org/wiki/Page_title Das ist die am häufigsten verwendete Konfiguration, wie sie auch von Wikipedia verwendet wird. Jedoch ist sie nicht der Standard, da sie Modifikationen am Server erfordert.
https://example.org/view/Page_title
https://wiki.example.org/view/Page_title
https://example.org/Page_title
https://wiki.example.org/Page_title

Some people do not recommend the last two configurations: see Manual:Wiki in site root directory for potential problems and solutions.

Vor- und Nachteile

  • Vorteil: Kurz-URLs verstecken einige technischen Details vor dem Endnutzer, was wünschenswert für Seitenbetreiber sein kann. Unter anderem können sie konstant gehalten werden, auch wenn sich die darunter liegende Software ändern sollte. (Siehe oben für den Unterschied zwischen MediaWikis standardmäßiger URL-Struktur mit aktiviertem CGI und ohne CGI.) Sie sind für Besucher auch besser zu lesen, zu merken und einzugeben. Darüber hinaus wirken sich Kurz-URLs gegenüber Standard-URLs positiv auf die Suchmaschinenoptimierung aus, da URLs, die kein ? enthalten, von Suchmaschinen bei der Berechnung des Seitenranks bevorzugt werden.
  • Nachteil: Sie erfordern eine Konfiguration; daher könnte es, abhängig von der Hosting-Umgebung, die du benutzt, schwierig sein, sie nachzuahmen. Jedoch sollten die meisten zahlpflichtigen Webhosting-Dienste diese Funktion unterstützen, weil jeder weit verbreitete Webserver so konfiguriert werden kann, dass er Kurz-URLs verwendet. Jeder Host, der dir diese Funktion nicht anbietet, ist dein Geld nicht wert.

Anleitungen

Unsere offiziellen Anleitungen zur Kurz-URL-Konfiguration für unterschiedliche Webserver. Wähle die Konfiguration deines Webservers aus dieser Liste. Falls du nicht weißt, welche Server-Software du nutzt, dann ist es höchstwahrscheinlich Apache.

Andere How-To Mini-Anleitungen

Diese Anleitungen sind veraltet und insgesamt eine schlechte Wahl. Sie werden nach und nach gelöscht, sobald unsere obenstehenden offiziellen Anleitungen für die verschiedenen Webserver erstellt werden.

Jeder ist willkommen, eine How-to-Lösungsseite zu erstellen und sie in die untenstehende Liste einzutragen. Bitte verwende einen sinnvollen Namen für die Seite, der zu den unten aufgeführten Namen passt. Wenn jede einzelne Lösung ihre eigene Seite hat, können Leser komplexe Varianten überspringen, die sie nicht brauchen. „Fasse dich kurz“. Bitte schreibe in einem kurzgefassten, verständlichen Stil mit einer separaten Seite für jede unterschiedliche Lösung.

Um anderen zu helfen, herauszufinden, welche Kurz-URL-Methoden wirklich funktionieren, bearbeite bitte die Seite und erhöhe nach jedem Ausprobieren einer einzelnen Methode die Zahlen „worked“ oder „didn't work“ für die entsprechende Anleitung und erstelle eine kurze (oder lange, deine Wahl) Beschreibung, was schiefgelaufen ist, indem du auf den Link auf deiner Nummer klickst.

URL wie - example.com/wiki/Seitentitel

Aktionen wie Bearbeiten, Versionsgeschichte, etc. werden immer noch index.php beinhalten, außer $wgActionPaths sind definiert.

Root-Zugriff

Diese Methoden erfordern einen Zugriff auf die Serverkonfiguration. Wenn du bei einem geteilten Betreiber bist, wirst du diesen wahrscheinlich nicht haben. In diesem Fall musst du eine Methode wählen, die keinen Root-Zugriff erfordert. Du kannst direkt zum „MediaWiki ShortURL Builder“-Werkzeug gehen und dort den angezeigten Anweisungen folgen. Wähle „I don't have root access“, nachdem du die URL zu deinem Wiki eingegeben hast.

(Für Hilfestellungen zu Apache, siehe den Link im Abschnitt Anleitungen.)

URL wie - example.com/Seitentitel

Some people do not recommend this configuration. Siehe Manual:Wiki in site root directory und [$url Coole URIs ändern sich nicht].

Wie man URLs im Format example.com/Seitentitel erstellt:

URL wie - wiki.example.com/Seitentitel

Some people do not recommend this configuration. Siehe Manual:Wiki in site root directory und [$url Coole URIs ändern sich nicht].

Wie man URLs im Format wiki.example.com/Seitentitel erstellt:

Fehlerbehebung

Problem mit Et-Zeichen (&)

Das Et-Zeichen-Problem tritt dann auf, wenn im Seitentitel Symbole (wie z. B. &, ?, #, + und /) auftauchen, die, obwohl sie im Link richtig codiert werden, nicht korrekt von mod_rewrite an das Skript weitergereicht werden. Dies manifestiert sich in 404-Seite nicht gefunden-Fehlermeldungen, weil der Titel an der Stelle des speziellen Zeichens abgeschnitten wird. Zum Beispiel liefert das Klicken auf einen Link zu „Hans & Marias Seite“ eine 404-Fehlermeldung, weil MediaWiki nach einer Seite namens „Hans “ sucht.

Dies kommt dadurch, dass Et-Zeichen in Langformnamen wie Query String-Separatoren behandelt werden und nie die PHP-Laufzeitumgebung erreichen würden. Verursacht wird das durch einen alten und problematischen Fehler von mod_rewrite. [1]

Lösung:

Dieser Fehler wird durch den Bereich ?title=$1 in Rewrite Rules wie /index.php?title$1 verursacht, was keinstenfalls vonnöten, stattdessen aber schädlich ist. MediaWiki empfängt die Pfade direkt durch die REQUEST_URI, schreibe daher alles nach /index.php um.

Cache leeren

Wenn du feststellst, dass deine Änderungen an $wgArticlePath in LocalSettings.php nicht in mysite.com/wiki/Main_Page widergespiegelt werden, kann das daran liegen, dass MediaWiki die Links entsprechend der vorherigen Einstellungen zwischenspeichert.

Rufe mysite.com/wiki/Main_Page?action=purge auf, um MediaWiki zu zwingen, die gecachten Links neu zu generieren.

Was ebenfalls möglich ist:

  1. die MySQL query "TRUNCATE objectcache;" ausführen der
  2. sicherstellen, dass $wgCacheEpoch aktualisiert ist (falls $wgInvalidateCacheOnLocalSettingsChange aktiviert ist, brauchst du nur LocalSettings.php zu bearbeiten, um ihn zu leeren)

Leite Besucher deiner Domain zu deinem Wiki weiter

Unsere offiziellen Anleitungen für die Kurz-URL-Konfiguration enthalten Empfehlungen, wie man mit der Short-URL-Konfiguration auf das Wurzelverzeichnis der Website verweist.

Unser Apache-Anleitung empfiehlt zum Beispiel, dieses zu verwenden, um das Stammverzeichnis der Website auf das Wiki zu zeigen:

RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]

Beachte, dass wir keine HTTP-Weiterleitungen zu deinem Wiki-Pfad oder direkt zur Hauptseite empfehlen. Denn die direkte Weiterleitung auf die Hauptseite codiert variable Teile des Seitenaufbaus deines Wikis in deiner Serverkonfiguration fest. Und das Weiterleiten zum Wiki-Pfad wird in zwei Weiterleitungen resultieren. Schreibe einfach den Root-Pfad zu MediaWiki um und es kümmert sich selbst um die 301-Weiterleitung zur Hauptseite.

Wenn du virtuelle Hosts benutzt, platziere die Rewrite Regeln in die Deklaration des virtuellen Hosts!

Ein Wiki von /wiki zu /w verschieben

Ein häufiger Anfängerfehler ist es, MediaWiki selbst (den Quellcode, nicht die Kurz-URL) in /wiki statt in /w zu installieren. Nach der Installation würde man den Fehler erkennen, wenn man versucht, Kurz-URLs zu konfigurieren (was schwierig werden würde, da der virtuelle Pfad dann mit dem realen Pfad in Konflikt gerät).

Es gibt eine Anleitung für das Verschieben von Wikis im Allgemeinen, aber das ist zu kompliziert, wenn man nur das Installationsverzeichnis ändern will (und auf demselben Server, derselben Datenbank und demselben Hostnamen bleiben will).

Was du zu tun hast:

  • Sichere die LocalSettings.php und alle anderen Konfigurationsdateien, die du eventuell erstellt hast (z. B. deine .htaccess).

Benenne den Installationsordner von MediaWiki von deinem Server von /wiki zu /w um.

  • Setze $wgScriptPath in LocalSettings.php auf "/w" und entferne (oder kommentiere aus) jede Definition von $wgArticlePath (diese Variable wird beim Einrichten von Kurz-URLs wieder geändert, weiter unten)
  • Zu diesem Zeitpunkt sollte dein Wiki unter example.org/w normal funktionieren.
  • Gehe nun durch die reguläre Anleitung, um Kurz-URLs einzurichten
  • Führe ein paar Tests mit deinem Wiki durch, um sicherzustellen, dass nichts kaputt ist. Bearbeite eine Seite, besuche verschiedene Seiten, etc. Wenn irgendetwas ungewöhnlich erscheint, mache die Änderungen rückgängig, indem du dein Backup von LocalSettings.php und die anderen relevanten Dateien, die du während der Konfiguration der Kurz-URLs geändert haben könntest, wiederherstellst und deinen Ordner wieder in /wiki umbenennst.

Hinweis für Shared-Hosting-Benutzer: Viele Shared-Hosting-Angebote bieten einen Applikations-Manager zur automatischen Installation, Aktualisierung und Sicherung von Applikationen wie MediaWiki. Wenn dein Tarif dies vorsieht und du diese Funktionen weiterhin nutzen möchtest, solltest dich an den technischen Support wenden und ihn darüber informieren, dass du gerade dein MediaWiki-Installationsverzeichnis manuell geändert hast.

Tricks

Siehe auch

Externe Verweise

Einzelnachweise

  1. Bugzilla mod_rewrite for ampersand bug, unvollständig behoben für manche Benutzer, aber erst nach 13 Jahren