Manual:Short URL/Apache/de

Diese Anleitung hilft bei der Einrichtung von Short URLs auf Apache. Der LiteSpeed Webserver ist Apache-kompatibel und kann auf die selbe Weise konfiguriert werden. Für Informationen über Kurz-URLs oder deren Konfiguration für andere Webserver siehe. Falls du nicht weißt, welchen Webserver du verwendest oder du einen Hosting-Provider verwendest, benutzt du höchstwahrscheinlich den Apache Webserver.

Einrichtung
Bevor du beginnst, musst du dich für einen Namen für deinen virtuellen "Kurz-URL"-Pfad entscheiden.

In dieser Anleitung werden wir den folgenden empfehlen. Bedenke die Pfade anzupassen, falls du abweichende verwenden möchtest.


 * Das MediaWiki-Verzeichnis befindet sich unter:
 * Das gewünschte "Kurz-URL"-Format ist:



Server-Konfiguration


Die richtige Datei finden
Die empfohlene Methode, um Kurz-URLs in Apache einzurichten, ist durch das Bearbeiten der Apache-Konfigurationsdateien. Dafür benötigst du Zugriff auf die Serverkonfiguration. Wenn du dich auf einem gemeinsamen Host befindest, hast du diesen Zugriff wahrscheinlich nicht und benötigst stattdessen eine -Datei. -Dateien zu benutzen ist weniger effizient und erlaubt nicht so große Anpassung, wenn es um besondere Setups mit mehreren Domains geht, aber sie sind mächtig genug, um die meisten Kurz-URL-Konfigurationen zu erstellen. LiteSpeed-Benutzer sollten stattdessen die -Methode benutzen.

Folge den Anweisungen in einem der folgenden beiden Abschnitte, abhängig davon, ob du Root-Zugriff hast, oder stattdessen  benutzen musst.



Die Apache-Konfigurationsdatei finden (Root-Zugriff)
Die korrekte Konfigurationsdatei, die für Root-Konfigurationen bearbeitet werden muss, kann sich an einem von mehreren Orten befinden.

Die korrekte Konfigurationsdatei, die bearbeitet werden soll, ist diejenige in, wo die Wiki-Konfiguration eingerichtet wurde. Die meisten Linux-Distributionen richten Apache mit einer Gruppe an  und  -Ordnern ein.

Wenn du keine eingerichtet hast und die normale  für deine Wiki-Konfiguration benutzt, kannst du   bearbeiten.

Vergiss nicht, Overrides durch  in   zu aktivieren. Das ist standardmäßig in Ubuntu 12.04 und Ubuntu 12.10 deaktiviert.

Wenn deine Distribution diese Ordner nicht hat, dann solltest du die Apache-Konfigurationsdatei direkt bearbeiten. Diese Datei sollte sich bei  befinden. Beachte, dass sie früher  hieß, wenn du   hast und kein , dann musst du   bearbeiten.

Wenn deine Apache-Konfiguration sich nirgendwo dort befindet, solltest du die Dokumentation für das System, mit dem du Apache installiert hast, zurate ziehen, und damit den Ort der Apache-Konfigurationsdatei finden.

Wenn du dich auf einem gemeinsamen Host ohne Zugriff auf Apache-Konfigurationsdateien befindest, dann musst du stattdessen eine .haccess-Datei benutzen.

In einer Apache-Konfigurationsdatei hast du wahrscheinlich einen VirtualHost-Block, der dein Wiki enthält. Wenn das vorhanden ist, dann müssen dort deine rewrite-Regeln hin. RewriteRule-Konfiguration wird nicht vererbt, also schreibe diese Regeln nicht in die globale Konfiguration, wenn du einen VirtualHost benutzt.

Wenn du die Konfiguration wie oben beschrieben in Apache erstellt hast, musst du Apache neustarten, um die neue Konfiguration anzuwenden.


 * Wenn du Plesk oder cPanel benutzt, sollte es eine Möglichkeit geben, den Server neuzustarten.
 * Auf der Befehlszeile ist der Befehl meistens so ähnlich wie,  ,   oder wie auf den neuesten Fedora-Releases  . Diese Befehle müssen als root ausgeführt werden, üblicherweise durch Voranstellen von.



Wo .htaccess abgelegt werden muss
Wenn du eine -Datei benutzt, musst du die Datei bearbeiten oder erstellen. Finde den Pfad, der sowohl deinen Skriptpfad und deinen virtuellen Pfad beinhaltet. Das ist üblicherweise das oberste Verzeichnis deiner Seite, aber lasst uns ein paar Beispiele ansehen:

Beachte dass falls du eine Weiterleitung von der Hauptdomain zu der Startseite deines Wikis (z.B. http://example.org/ http://example.org/wiki/Main_Page ) erstellen willst, du die .htaccess Datei immer im höchsten Verzeichnis einrichten musst, selbst wenn andere Verzeichnisse tiefer verschachtelt sind.



Die Rewrite-Regeln erstellen
It's easier to understand the rest of this section after a glimpse at the Apache syntax, but this synopsis is not a substitute for the full Apache documentation:

The  directive defines a condition that must be true before a RewriteRule that follows it may be applied. One or more RewriteCond directives may precede a RewriteRule directive, and all the RewriteCond directives that precede a RewriteRule must be true before that rule may be applied to a URI. In the examples that follow,  takes the form of a reference to server variables, e.g.. Although many  exist, the examples that follow use   (true when TestString is a regular file) and   (true when TestString is a directory), and they are preceded by a negation symbol,.

The  directive may be invoked in both the   file and in any   file, but when the rewrite rule appears in .htaccess files, the implicit per-directory context affects the rule's   because rules are relative to the current directory. In  files, Patterns are not relative to the complete, original URI. For  files, Patterns should never start with a forward slash, , because the URI sub-string will never begin with a. The examples that follow use the  flag whose meaning is Stop the rewriting process immediately, and don't apply any more rules.

The first rule you'll need inside of your config is one to enable the rewrite engine:

Now we need a rule to make your article path a virtual path pointing to index.php. Be sure to replace  and   with the paths you chose in the beginning (if different).

If you are using a root url instead of a normal short url you will need to use the following instead (to ensure that existing files and directories are not seen as article, e.g. " " " " etc.):

Sometimes, the above example doesn't work. The following (you can't set this in a, you need root access for this!) might work instead:

Optionally, you can include a rule to show the Main Page on the path itself, to simplify navigation when people visit urls without a page title specified:

The end result should look something like this:

or, if you used the way with the "Alias" statement:

LocalSettings.php
We need to make the following configurations in :

If you get an "Internal error" page saying "Redirect loop detected!" after you finish configuration you may be using something other than. If so you need to explicitly turn on short urls using the following line in your "LocalSettings.php" file:

If there is still an "internal error" check the log files of your server. Maybe you have to turn on  module.

Simple instructions
The following is a summary of what to do if you are not doing anything different than what MediaWiki recommends. If you want to do something else, you need to read all of the details above.


 * https://example.com/wiki/Main_Page ( url location )
 * /home/me/public_html/mediawiki/w/index.html ( index.html location )
 * /home/me/public_html/mediawiki/.htaccess ( .htaccess location )

Notice that the .htaccess file is NOT located in the "w" directory, but it is located in the directory above it.

Online Wizard
It is possible that this wizard will help people generate the short URLs they need. (NOTE: This needs to be tested, or the section removed.)

An automated wizard (requires MediaWiki 1.17 or later) might help:


 * shorturls.redwerks.org

If you just want your wiki configured quickly or you find the guide confusing then you may want to try that tool first. If you do this, please note that you will need to edit or create a .htaccess file. If you create it anew, please read on to further in this article about where to place the .htaccess file, and please note that this file will likely be in a different folder than the other file that will need to be edited (LocalSettings.php), which is in the installation folder (/w if you have followed the MediaWiki recommendations). Please also note that using this wizard will not work on firewalled or private wikis. In this case, you can still try it out by making your wiki temporarily public by setting  to. Remember to change it back to once you are done.

