Skip to content

WordPress-Blog mit MediaWiki-Wiki in Unterverzeichnis und ShortUrls

Diego Velázquez: Apollo in the Forge of Vulcan Wer sich eine Blog-Software installieren und ein (Media)Wiki in ein Unterverzeichnis packen möchte, stolpert bei der Konfiguration über kleinere Probleme: Je nachdem, wie .htaccess und die LocalSettings.php des MediaWiki konfiguriert sind, schnappen sich beide Anwendungen die Seitenaufrufe weg. Soll heißen: Ruft man das Wiki auf, landet man im Blog auf einer 404-"Seite nicht gefunden"- Seite, ruft man das/den Blog auf, landet man im Wiki. Zwischendurch kommt es immer vor, dass URL Aufrufe zwar auf die ShortURL des Wikis umgeleitet werden, die Blog-Software allerdings versucht, den Seitenaufruf zu bedienen, was wiederum zu einer Fehlermeldung führt. Wie man Herr des Ganzen werden kann, zeige ich im Folgenden:

(Wir gehen davon aus, dass wir als Blog-Software WordPress und als Wiki-Software MediaWiki verwenden.)

Ziel

Ein WordPress-Blog auf einer Domain mydomain.com mit MediaWiki aufrufbar per mydomain.com/wiki.

Wordpress installieren

Die berühmte fünf Minuten-Installation. KwT.

MediaWiki installieren

Das MediaWiki wird in einen Unterordner /w installiert. Wer später ShortURLs der Form /wiki verwenden möchte, darf nicht nach /wiki installieren!!!

Benutzerrechte konfigurieren

Bevor wir weitermachen, sollten wir vielleicht ein paar Benutzerrechte konfigurieren, damit uns niemand in der Zwischenzeit irgendwelche Seiten anlegt oder bearbeitet.

ShortURLs konfigurieren

Zur Konfiguration der /wiki-ShortURL verwenden wir den Redwerks-.htaccess- und -LocalSettings.php-Generator. Redwerks spuckt uns so etwas aus:

.htaccess:

RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

/w/LocalSettings.php:

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs please see:
## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads  = true;
$wgGenerateThumbnailOnParse = false;

(Der Eintrag $wgScriptPath = "/w"; ist i. d. R. nach der Installation bereits vorhanden, muss also nicht geändert oder erneut eingetragen werden.)

.htaccess anpassen

Nach der WordPress-Installation sieht unsere .htaccess folgendermaßen aus:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Wir fügen unsere Anpassungen für unser MediaWiki vor den WordPress-Einträgen ein und kommentieren die Zeile

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

aus:

# BEGIN MediaWiki
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
### RewriteRule ^/?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

# END MediaWiki

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Anschließend sollte der Blog über mydomain.com und das Wiki über mydomain.com/wiki aufrufbar sein.

Bildnachweis: Diego Velázquez (1599-1660): Apollo in the Forge of Vulcan (1630)

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Gravatar, Twitter, Pavatar, Identica, Favatar Autoren-Bilder werden unterstützt.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Markdown-Formatierung erlaubt
Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!