Handbuch:Kurz-URL/Seitentitel -- Windows & Apache ohne 403 auf speziellen Seiten

From mediawiki.org
This page is a translated version of the page Manual:Short URL/Page title -- Windows & Apache without 403 on Special Pages and the translation is 94% complete.

Because the colon character is used by NTFS to denote symbolic links, when http://example.com/Special:SpecialPages is accessed, Windows looks for a non-existent symbolic link in the document root for example.com. Dies erzeugt einen 403-Fehler.

Das Einfügen einer .htaccess-Datei in den Dokumentstamm löst das Problem nicht, da der Fehler auftritt, bevor die .htaccess-Datei geparst wird. Um zu verhindern, dass der Fehler auftritt, muss das Doppelpunktzeichen in einer entsprechenden .conf-Datei angesprochen werden.

Schritt 1

Wenn du vHosts konfiguriert hast, füge die folgenden Rewrite-Anweisungen in die entsprechende ‎<VirtualHost>-Anweisung ein. Andernfalls fügst du sie in die ‎<directory>-Direktive für das Stammverzeichnis deines Wikis ein:

RewriteEngine On
RewriteRule ^/(.*):(.*) /index.php/$1:$2

Schritt 2

Bearbeite deine LocalSettings.php-Datei und füge sie ein:

$wgArticlePath = "/$1";

Hinweis

It should be noted that this method of Pretty URLs is not currently compatible with pretty action URLs (e.g. /action/edit/Main_page). MediaWiki geht davon aus, dass alles im Pfad (abgesehen von der Domain) ein Seitentitel ist, was zu einer Rekursionsschleife führt, die dazu führt, dass beim Versuch, /Hauptseite zu bearbeiten, stattdessen eine neue Seite mit dem Namen /action/edit/Main_Page erstellt wird. Dieses Problem wurde in v.1.15.1 bestätigt.

Schritt 3

Füge diese Regeln zu der Datei .htaccess in deinem Stammverzeichnis hinzu.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php/$1 [L,QSA]

Schlussfolgerung

Die Rewrite-Regeln in der .conf-Datei übersetzen http://example.com/Special:SpecialPage unsichtbar in http://example.com/index.php/Special:SpecialPage. Dann übersetzt die Datei .htaccess zurück in http://example.com/Special:SpecialPage, um sie zu verarbeiten.