Schönere URLs für MediaWiki: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
Allerdings funktioniert die "Pretty URLs"-Einstellung leider nicht mit der CGI-Variante.
Allerdings funktioniert die "Pretty URLs"-Einstellung leider nicht mit der CGI-Variante.


Wenn man die Einstellungen jedoch verfeinert, dann funktioniert der Betrieb reinungslos.
Wenn man die Einstellungen jedoch verfeinert, dann funktioniert der Betrieb reibungslos.


Man muss unterscheiden, ob man MediaWiki als eigene (Sub-)Domain betreibt oder in einem Unterverzeichnis innerhalb des DocumentRoot.
Man muss unterscheiden, ob man MediaWiki als eigene (Sub-)Domain betreibt oder in einem Unterverzeichnis innerhalb des DocumentRoot.

Version vom 11. Juni 2007, 05:10 Uhr

PHP kann auf schokokeks.org in zwei Varianten benutzt werden: Als Apache-Modul und als (Fast-)CGI.

Die Apache-Modul-Variante ist üblicherweise die schnellste, kann aber aus Sicherheitsgründen nur mit dem sog. safe_mode betrieben werden. Manche Web-Anwendungen benötigen Funktionen, die im safe_mode nicht zur Verfügung stehen. Insbesondere MediaWiki verweigert mache Funktionen (z.B. Bildverarbeitung) wenn es mit der safe_mode-Einstellung betrieben wird.

Allerdings funktioniert die "Pretty URLs"-Einstellung leider nicht mit der CGI-Variante.

Wenn man die Einstellungen jedoch verfeinert, dann funktioniert der Betrieb reibungslos.

Man muss unterscheiden, ob man MediaWiki als eigene (Sub-)Domain betreibt oder in einem Unterverzeichnis innerhalb des DocumentRoot.

Eigener DocRoot

Es muss eine Datei .htaccess erzeugt werden, die den folgenden Inhalt hat:

Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php?title=$1 [L,QSA]

Dann muss in der Datei LocalSettings.php folgendes geändert werden:

$wgScriptPath      = "";
$wgScript         = "$wgScriptPath";
$wgArticlePath      = "$wgScript/$1";

In einem Unterverzeichnis

Wir nehmen an, dass das Unterverzeichnis /wiki benutzt wird.

Auch hier muss eine Datei .htaccess erzeugt werden:

Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /wiki/index.php?title=$1 [L,QSA]

die Datei LocalSettings.php muss auch geringfügig anders geändert werden.

$wgScriptPath      = "/wiki";
$wgScript         = "$wgScriptPath";
$wgArticlePath      = "$wgScript/$1";