WordPress-Blog mit MediaWiki-Wiki in Unterverzeichnis und ShortUrls
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
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt