Die Welt des Internets ist komplex, doch eine Sache ist universell: Benutzer lieben es einfach und klar. Das gilt besonders für URLs, die Adressen, die uns zu den gewünschten Inhalten führen. Wenn Sie eine MediaWiki-Installation betreiben, kennen Sie vielleicht das Problem der standardmäßigen, manchmal unübersichtlichen URLs wie `https://example.com/index.php?title=Hauptseite`. Diese sind nicht nur unschön, sondern können auch die Benutzerfreundlichkeit und sogar die Suchmaschinenoptimierung (SEO) beeinträchtigen. Die gute Nachricht: Es gibt eine einfache, elegante Lösung – die Einrichtung von MediaWiki ShortURLs, auch bekannt als saubere Links (Clean URLs).
In diesem umfassenden Leitfaden nehmen wir Sie an die Hand und zeigen Ihnen Schritt für Schritt, wie Sie Ihre MediaWiki-URLs in prägnante, aussagekräftige Adressen verwandeln. Egal, ob Sie ein absoluter Neuling oder ein erfahrener Administrator sind, dieser Artikel liefert Ihnen das nötige Wissen, um Ihre MediaWiki-Installation auf das nächste Level zu heben.
### Warum saubere Links? Die unschlagbaren Vorteile auf einen Blick
Bevor wir ins Detail gehen, lassen Sie uns kurz klären, warum der Aufwand, ShortURLs einzurichten, sich definitiv lohnt. Die Vorteile sind vielfältig und wirken sich auf verschiedene Aspekte Ihrer Wiki-Präsenz aus:
1. **Ästhetik und Professionalität:** Eine URL wie `https://example.com/wiki/Hauptseite` sieht einfach besser aus als eine mit `index.php?title=`. Sie wirkt professioneller, aufgeräumter und vermittelt den Eindruck einer gut gewarteten Website.
2. **Verbesserte Benutzerfreundlichkeit:** Saubere Links sind leichter zu lesen, zu merken und zu tippen. Das erleichtert es Ihren Benutzern, Inhalte zu finden, Links zu teilen und sich auf Ihrer Seite zurechtzufinden. Stellen Sie sich vor, Sie müssten eine lange, kryptische URL in eine E-Mail oder einen Chat kopieren – kein Vergnügen!
3. **SEO-Vorteile:** Suchmaschinen wie Google bevorzugen lesbare und strukturierte URLs. Eine SEO-optimierte URL, die relevante Keywords enthält, kann dazu beitragen, dass Ihre Seiten in den Suchergebnissen besser ranken. Zwar ist der Einfluss nicht riesig, aber er ist ein Puzzleteil in einer umfassenden SEO-Strategie. Suchmaschinen können die Relevanz einer Seite besser einschätzen, wenn der Titel im Link ersichtlich ist.
4. **Bessere Teilbarkeit:** In sozialen Medien, Foren oder Messengern sind kurze, prägnante Links Gold wert. Sie nehmen weniger Platz ein, sind weniger anfällig für Zeilenumbrüche und sehen in jeder Umgebung sauber aus. Das fördert das Teilen Ihrer Inhalte.
5. **Vertrauenswürdigkeit:** Lange, parameterreiche URLs können manchmal als „spammig” oder potenziell schädlich wahrgenommen werden, insbesondere von weniger technisch versierten Nutzern. Eine klare, einfache URL schafft Vertrauen.
### Die Herausforderung: Standard-MediaWiki-URLs verstehen
Standardmäßig generiert MediaWiki Links, die PHP-Dateien und GET-Parameter verwenden, um den gewünschten Artikel anzuzeigen. Der typische Aufbau ist:
`https://IHRE-DOMAIN.de/index.php?title=SEITENNAME`
Hierbei ist `index.php` die ausführende Datei und `title=SEITENNAME` ein Parameter, der angibt, welcher Artikel geladen werden soll. Dies ist technisch absolut korrekt und funktioniert einwandfrei. Es ist jedoch eine interne Logik, die für den Endbenutzer nicht relevant oder wünschenswert ist. Die Aufgabe besteht nun darin, diese interne Logik durch eine für den Benutzer verständliche und ansprechende URL zu maskieren, ohne die Funktionalität zu beeinträchtigen. Dies erreichen wir durch **URL-Rewriting** auf dem Webserver.
### Was genau ist eine MediaWiki ShortUrl?
Eine MediaWiki ShortUrl ist eine URL, die direkt auf den Namen des Artikels verweist, ohne die `index.php` oder andere Query-Parameter anzuzeigen. Das Ziel ist es, beispielsweise:
* Von `https://example.com/index.php?title=Über_uns`
* Zu `https://example.com/wiki/Über_uns` oder, noch besser, direkt zu `https://example.com/Über_uns` zu gelangen.
Die genaue Struktur hängt davon ab, ob Sie MediaWiki im Stammverzeichnis Ihrer Domain oder in einem Unterverzeichnis (z.B. `/wiki/`) installiert haben. Wir werden beide Szenarien abdecken.
### Vorbereitung ist alles: Was Sie brauchen
Bevor wir mit den technischen Anpassungen beginnen, stellen Sie sicher, dass Sie folgende Voraussetzungen erfüllen:
1. **Admin-Zugang zum Server:** Sie benötigen SSH-Zugang (oder vergleichbaren Zugriff, wie FTP/SFTP) zu Ihrem Webserver, um Dateien bearbeiten und hochladen zu können.
2. **Webserver:** Dieser Leitfaden deckt die gängigsten Webserver ab: **Apache** und **Nginx**. Stellen Sie sicher, dass Sie wissen, welchen Webserver Sie verwenden.
3. **Zugriff auf die MediaWiki-Konfigurationsdatei:** Die Datei `LocalSettings.php` im Hauptverzeichnis Ihrer MediaWiki-Installation ist der Schlüssel zu den MediaWiki-internen Einstellungen.
4. **Grundkenntnisse:** Ein grundlegendes Verständnis von Dateisystemen, Texteditoren und der Funktionsweise von Webservern ist hilfreich. Aber keine Sorge, wir erklären jeden Schritt ausführlich.
5. **Geduld und Sorgfalt:** Kleine Tippfehler können große Auswirkungen haben. Gehen Sie sorgfältig vor.
6. **UNBEDINGT: Ein vollständiges Backup Ihrer MediaWiki-Installation und Ihrer Datenbank!** Bevor Sie größere Änderungen vornehmen, erstellen Sie ein Backup. So können Sie im Falle eines Problems jederzeit zum vorherigen Zustand zurückkehren. Das ist der wichtigste Schritt von allen!
### Schritt-für-Schritt-Anleitung zur Einrichtung Ihrer MediaWiki ShortUrl
Die Einrichtung einer ShortUrl erfordert Anpassungen an zwei Stellen: in der MediaWiki-Konfiguration (`LocalSettings.php`) und in der Webserver-Konfiguration (Apache oder Nginx).
#### Schritt 1: MediaWiki-Konfiguration anpassen (`LocalSettings.php`)
Öffnen Sie die Datei `LocalSettings.php` in Ihrem MediaWiki-Stammverzeichnis mit einem Texteditor. Fügen Sie die folgenden Zeilen am Ende der Datei hinzu, passen Sie sie jedoch an Ihre spezifische Situation an.
**Szenario A: MediaWiki im Stammverzeichnis Ihrer Domain (z.B. `https://example.com/Hauptseite`)**
„`php
# Short URLs aktivieren
$wgScriptPath = „”; // Bleibt leer, wenn MediaWiki im Stammverzeichnis ist
$wgArticlePath = „/$1”;
$wgUsePathInfo = true;
„`
**Szenario B: MediaWiki in einem Unterverzeichnis, z.B. `/wiki/` (z.B. `https://example.com/wiki/Hauptseite`)**
„`php
# Short URLs aktivieren
$wgScriptPath = „/wiki”; // Hier den Namen des Unterverzeichnisses angeben
$wgArticlePath = „/wiki/$1”;
$wgUsePathInfo = true;
„`
**Erläuterung der Variablen:**
* `$wgScriptPath`: Definiert den Pfad zu Ihrem MediaWiki-Installationsverzeichnis relativ zur Webserver-Wurzel. Wenn MediaWiki direkt im `document_root` liegt, bleibt dieser Wert leer (`””`). Wenn es in einem Unterordner namens `wiki` liegt, setzen Sie es auf `”/wiki”`.
* `$wgArticlePath`: Dies ist die entscheidende Einstellung für die Struktur Ihrer sauberen URLs. `$1` ist ein Platzhalter für den Titel des Artikels. Wenn MediaWiki im Stammverzeichnis liegt, wird `$wgArticlePath = „/$1”;` zu `https://example.com/Artikelname`. Wenn es im Unterverzeichnis `/wiki/` liegt, wird `$wgArticlePath = „/wiki/$1”;` zu `https://example.com/wiki/Artikelname`.
* `$wgUsePathInfo = true;`: Diese Einstellung weist MediaWiki an, die PATH_INFO-Variable zu verwenden, um den Artikelnamen aus der URL zu extrahieren. Dies ist essenziell für das Funktionieren von ShortURLs in den meisten Setups.
**Wichtig:** Speichern Sie die Datei `LocalSettings.php` nach den Änderungen.
#### Schritt 2: Webserver-Konfiguration anpassen (Apache)
Für Apache-Webserver nutzen wir das Modul `mod_rewrite`, das in den meisten Hosting-Umgebungen standardmäßig aktiviert ist. Wenn Sie sich unsicher sind, fragen Sie Ihren Hosting-Provider oder überprüfen Sie Ihre Apache-Konfiguration.
1. **`mod_rewrite` aktivieren:** Stellen Sie sicher, dass `mod_rewrite` aktiv ist. Dies geschieht in der Regel in der Apache-Konfiguration (`httpd.conf` oder einer site-spezifischen Konfigurationsdatei) mit der Zeile: `LoadModule rewrite_module modules/mod_rewrite.so`. Nach einer Änderung müssen Sie Apache neu starten.
2. **`.htaccess`-Datei erstellen oder bearbeiten:** Erstellen Sie im **Stammverzeichnis Ihrer MediaWiki-Installation** (dort, wo auch die `index.php` und `LocalSettings.php` liegen) eine neue Datei namens `.htaccess` (beachten Sie den Punkt am Anfang!). Wenn sie bereits existiert, fügen Sie die folgenden Zeilen hinzu oder passen Sie sie an.
**Szenario A: MediaWiki im Stammverzeichnis Ihrer Domain**
„`apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
„`
**Szenario B: MediaWiki in einem Unterverzeichnis, z.B. `/wiki/`**
„`apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?wiki/(.*)$ %{DOCUMENT_ROOT}/wiki/index.php [L]
# Oder allgemeiner, wenn Sie mehrere Ordner haben könnten:
# RewriteRule ^/?(.*)$ %{DOCUMENT_ROOT}/$1/index.php [L]
„`
**Erläuterung der `.htaccess`-Regeln:**
* `RewriteEngine On`: Aktiviert die Rewrite-Engine.
* `RewriteCond %{REQUEST_FILENAME} !-f`: Stellt sicher, dass die Regel nicht angewendet wird, wenn die angeforderte URL zu einer tatsächlich existierenden Datei führt (z.B. Bilder, CSS, JS).
* `RewriteCond %{REQUEST_FILENAME} !-d`: Stellt sicher, dass die Regel nicht angewendet wird, wenn die angeforderte URL zu einem tatsächlich existierenden Verzeichnis führt.
* `RewriteRule ^(.*)$ index.php [L]`: Dies ist die Kernregel. Sie leitet *alle* Anfragen (außer den oben ausgeschlossenen) an die `index.php` weiter. Die `[L]`-Flagge bedeutet „Last Rule”, d.h., es werden keine weiteren Rewrite-Regeln angewendet.
**Wichtig für Apache:** Damit `.htaccess`-Dateien funktionieren, muss in der Apache-Konfiguration (virtueller Host oder Verzeichnis-Konfiguration) für das entsprechende Verzeichnis `AllowOverride All` gesetzt sein. Andernfalls werden die Regeln in der `.htaccess` ignoriert. Nach Änderungen an der Apache-Konfiguration müssen Sie Apache neu starten (`sudo service apache2 restart` oder `sudo systemctl restart apache2`).
#### Schritt 3: Webserver-Konfiguration anpassen (Nginx)
Für Nginx-Benutzer sind die Rewrite-Regeln direkt in der Serverblock-Konfiguration enthalten (oft in `/etc/nginx/sites-available/IHRE-DOMAIN.conf` oder `nginx.conf`). Eine `.htaccess`-Datei gibt es bei Nginx nicht.
Öffnen Sie Ihre Nginx-Konfigurationsdatei für Ihre Domain und suchen Sie den `server`-Block. Fügen Sie darin die folgenden Zeilen ein oder passen Sie sie an. Achten Sie darauf, dass der `location ~ .php$`-Block, der die PHP-Verarbeitung regelt, korrekt konfiguriert ist.
**Szenario A: MediaWiki im Stammverzeichnis Ihrer Domain**
„`nginx
server {
listen 80;
server_name IHRE-DOMAIN.de;
root /var/www/html/yourwiki; # Anpassen an Ihr MediaWiki-Stammverzeichnis
index index.php index.html index.htm;
location / {
try_files $uri $uri/ @mediawiki;
}
location @mediawiki {
rewrite ^/(.*)$ /index.php/$1 last;
}
location ~ .php$ {
include snippets/fastcgi-php.conf; # Oder Ihr spezifischer PHP-FPM-Konfigurationspfad
fastcgi_pass unix:/var/run/php/php-fpm.sock; # Oder Ihre PHP-FPM-Adresse (z.B. 127.0.0.1:9000)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info; # Wichtig für $wgUsePathInfo
}
# Optional: MediaWiki-Standard-Fehlerseite abfangen
location = /index.php {
try_files $uri $uri/ =404;
}
# Weitere Konfiguration für Bilder, CSS, JS, etc.
location ~* .(js|css|png|jpg|jpeg|gif|ico|svg|webp)$ {
try_files $uri @mediawiki;
expires 30d;
add_header Cache-Control „public, no-transform”;
}
}
„`
**Szenario B: MediaWiki in einem Unterverzeichnis, z.B. `/wiki/`**
„`nginx
server {
listen 80;
server_name IHRE-DOMAIN.de;
root /var/www/html; # Hier das Stammverzeichnis der Domain, NICHT das Wiki-Verzeichnis
index index.php index.html index.htm;
location /wiki/ { # Achtung hier: Nur Anfragen für /wiki/ abfangen
alias /var/www/html/yourwiki/; # Hier den ABSOLUTEN Pfad zum MediaWiki-Verzeichnis
try_files $uri $uri/ @mediawiki_wiki;
}
location @mediawiki_wiki {
# Hier ist es wichtig, den Pfad innerhalb des Wikis zu Rewriten
rewrite ^/wiki/(.*)$ /wiki/index.php/$1 last;
}
location ~ .php$ {
# Dies ist der allgemeine PHP-FPM-Block für die gesamte Domain
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
# … Rest Ihrer Nginx-Konfiguration
}
„`
**Erläuterung der Nginx-Regeln:**
* `root`: Definiert das Stammverzeichnis Ihrer Website.
* `location /` (oder `location /wiki/`): Definiert, wie Anfragen für bestimmte Pfade behandelt werden.
* `try_files $uri $uri/ @mediawiki;`: Versucht, die angeforderte URI als Datei oder Verzeichnis zu finden. Wenn das nicht gelingt, wird die Anfrage an das benannte `location @mediawiki` weitergeleitet.
* `location @mediawiki { rewrite ^/(.*)$ /index.php/$1 last; }`: Dies ist die Rewrite-Regel. Sie fängt alle Anfragen ab, die nicht zu einer Datei oder einem Verzeichnis gehören, und leitet sie an die `index.php` weiter, wobei der ursprüngliche Pfad als `PATH_INFO` an `index.php` übergeben wird.
* `fastcgi_param PATH_INFO $fastcgi_path_info;`: Dies ist entscheidend, damit `$wgUsePathInfo = true;` in MediaWiki korrekt funktioniert.
**Wichtig für Nginx:** Nach Änderungen an der Nginx-Konfiguration müssen Sie die Konfiguration auf Syntaxfehler prüfen (`sudo nginx -t`) und Nginx neu laden (`sudo service nginx reload` oder `sudo systemctl reload nginx`).
#### Schritt 4: Caches leeren und testen
Nachdem Sie sowohl die MediaWiki- als auch die Webserver-Konfiguration angepasst haben, ist es Zeit für den Test:
1. **MediaWiki-Cache leeren:** Leeren Sie den internen MediaWiki-Cache. Sie können dies tun, indem Sie die Datei `cache` im Unterordner `mw-config/cache/` löschen oder den Wartungsscript `php maintenance/rebuildData.php` auf der Kommandozeile ausführen. Auch der Browser-Cache Ihrer Benutzer kann Probleme verursachen – bitten Sie Ihre Benutzer ggf. diesen zu leeren (Strg+F5 oder Cmd+Shift+R).
2. **Browser-Cache leeren:** Leeren Sie den Cache Ihres Webbrowsers, um sicherzustellen, dass Sie nicht auf alte, gecachte Seiten zugreifen.
3. **Testen Sie die neuen URLs:**
* Navigieren Sie zu Ihrer MediaWiki-Startseite. Sind die Links dort sauber?
* Erstellen Sie eine neue Seite. Hat die neue Seite eine **ShortUrl**?
* Rufen Sie eine bestehende Seite über die alte `index.php?title=`-URL auf. Wird sie korrekt auf die neue **ShortUrl** weitergeleitet? (Sollte sie, dank der Rewrite-Regeln).
* Überprüfen Sie, ob Bilder, CSS und JavaScript korrekt geladen werden. Falls nicht, liegt möglicherweise ein Problem mit `$wgScriptPath` oder den Rewrite-Regeln vor, die auch statische Dateien umleiten.
### Häufige Probleme und Fehlerbehebung
* **”Page Not Found” (404-Fehler):**
* **Apache:** `mod_rewrite` ist nicht aktiviert oder `AllowOverride All` ist nicht gesetzt. Überprüfen Sie die Apache-Fehlerprotokolle (`error.log`).
* **Nginx:** Die Rewrite-Regeln sind falsch oder Nginx wurde nach der Konfigurationsänderung nicht neu geladen. Überprüfen Sie die Nginx-Fehlerprotokolle.
* Allgemein: Prüfen Sie die Pfade in `LocalSettings.php` (`$wgScriptPath`, `$wgArticlePath`) und den Rewrite-Regeln auf Tippfehler oder falsche Annahmen über das Installationsverzeichnis.
* **Bilder, CSS oder JavaScript werden nicht geladen:**
* Oft ein Problem mit `$wgScriptPath` oder einer zu aggressiven Rewrite-Regel, die auch Anfragen für statische Dateien umleitet. Stellen Sie sicher, dass die `RewriteCond` (Apache) oder `try_files` (Nginx) Regeln statische Dateien ausschließen.
* **Links werden immer noch mit `index.php?title=` angezeigt:**
* `LocalSettings.php` wurde nicht korrekt gespeichert oder die Änderungen sind nicht aktiv.
* MediaWiki-Cache wurde nicht geleert.
* `$wgUsePathInfo = true;` fehlt oder ist auf `false` gesetzt.
* **Weiterleitungen funktionieren nicht richtig:**
* Dies kann ebenfalls mit `$wgUsePathInfo` zusammenhängen, aber auch mit komplexeren Rewrite-Regeln.
Geben Sie nicht auf, wenn es beim ersten Mal nicht sofort funktioniert. URL-Rewriting kann knifflig sein. Konsultieren Sie die Fehlerprotokolle Ihres Webservers – sie sind Ihr bester Freund bei der Fehlersuche!
### Fazit
Die Einrichtung von MediaWiki ShortURLs ist ein relativ kleiner Eingriff, der jedoch einen großen Unterschied in der Wahrnehmung und Benutzerfreundlichkeit Ihrer Wiki-Instanz macht. Mit sauberen Links verbessern Sie nicht nur die Ästhetik und die SEO-Optimierung Ihrer Seiten, sondern erleichtern auch das Teilen und Navigieren für Ihre Nutzer erheblich.
Es mag auf den ersten Blick technisch erscheinen, aber mit dieser detaillierten Anleitung sollten Sie in der Lage sein, Ihre MediaWiki-Links erfolgreich zu bereinigen. Denken Sie immer an das Backup und gehen Sie Schritt für Schritt vor. Ihre Benutzer (und Suchmaschinen!) werden es Ihnen danken, dass Sie ihnen eine aufgeräumte, professionelle und leicht zugängliche Wiki-Umgebung bieten.
Viel Erfolg bei der Umstellung auf Ihre neuen, sauberen Links!