Manual:Short URL/Apache/de

Diese Anweisungen helfen Short URLs für einen Apache einzurichten. Der Litespeed Webserver ist zu Apache kompatibel und kann relativ auf die gleiche Weise konfiguriert werden. Für Informationen rund um Short URLs oder um Anweisungen zur Konfiguration für andere Server zu erhalten, siehe Manual:Short URL. Wenn Sie nicht wissen, welchen Webserver Sie verwenden, falls Sie einen Webhosting Dienst nutzen, ist es sehr wahrscheinlich, dass Ihr Anbieter Apache verwendet.

Planen
Bevor Sie starten, müssen Sie sich für einen Namen Ihres virtuellen "Short URL" Pfad entscheiden.

In dieser Anleitung empfehlen/vermuten wir Folgendes. Denken Sie daran Ihre eigenen Pfade zu benutzen, falls diese unterschiedlich sind. Die folgenden Anweisungen wurden in einen automatisierten Assistenten aufgenommen (benötigt MediaWiki 1.17 oder neuer): Wenn Sie Ihr Wiki nur schnell konfigurieren wollen oder Sie die Anleitung verwirrend finden, dann sollten Sie zunächst dieses Tool ausprobieren. Bitte beachten Sie jedoch, dass es nicht mit Firewall geschützten oder privaten Wikis funktioniert. Im letzteren Fall können Sie trotzdem versuchen Ihr Wiki vorübergehend öffentlich machen, indem Sie  auf   setzen.
 * Das MediaWiki Verzeichnis befindet sich unter:
 * Das gewünschte Short URL format ist:
 * http://shorturls.redwerks.org/

Denken Sie daran es wieder auf  zu setzen, sobald Sie fertig sind.

Ansonsten lesen Sie weiter.

Die richtige Datei finden
Um Short URLs für Apache einzurichten, wird empfohlen die Apache Konfigurationsdateien zu bearbeiten. Dies erfordert, dass Sie zu der Server Konfiguration Zugriff haben. Wenn Sie bei einem Hoster sind, haben Sie meist keinen und müssen stattdessen die  Datei verwenden. Die Verwendung der  Dateien ist weniger effizient und geben Ihnen nicht genug Kontrolle, wenn es um ausgefallene Setups mit mehreren Domänen kommt, reichen jedoch aus, um die meisten Short URL Konfigurationen einzurichten. LiteSpeed Nutzer sollten die  Methode nutzen.

Verwenden Sie die Anweisungen einer der folgenden zwei Abschnitte, je nachdem ob Sie Zugriff zum Server haben oder stattdessen die  verwenden.

Die Apache Konfigurationsdatei finden (Server-Zugriff)
Die richtige Konfigurationsdatei, um die Konfiguration des Servers zu bearbeiten, kann an einer Reihe von Orten sein.

Die meisten Linux Distributionen richten Apache mit einem Satz von  Ordnern ein. Die richtige zu bearbeitende Konfigurationsdatei befindet sich in  wo die Konfiguration Ihres Wiki eingerichtet wurde. Wenn Sie keine eingerichtet haben und den Standard in  für Ihr Wiki Setup verwenden, können Sie die in   bearbeiten.

Vergessen Sie nicht das Überschreiben mit  zu aktivieren. Es ist standardmäßig in Ubuntu 12.04 und Ubuntu 12.10 deaktiviert.

Wenn Ihre Auslieferung keines dieser Verzeichnisse hat, sollten Sie direkt die Apache Konfigurationdatei bearbeiten. Die Datei sollte in  vorhanden sein. Beachten Sie, dass diese früher  genannt wurde, wenn Sie eine   keine   haben, bearbeiten Sie die. Wenn Ihre Apache Konfiguration an keinem dieser Orte ist, sollten Sie die Dokumentation des Systems, mit dem Sie Apache installierten, zu Rate ziehen und den Speicherort der Apache Konfigurationsdatei finden.

Wenn Sie einen Hoster, ohne Zugriff zu den Apache Konfigurationsdateien, verwenden, müssen Sie stattdessen eine,  ,   or as on the latest Fedora releases. These commands need to be run as root, usually by prefixing them with.

Where to put .htaccess
On Apache the  controls whether .htaccess files are allowed to control server configuration. If these rewrite rules do nothing at all you may have to modify the  setting in the Apache config to include. It also requires  for the directory.

If you're using a  file you'll need to edit or create the file. Find the path that contains both your script path and your virtual path. Usually this means the top directory of your site, but let's look at a few examples: Note that if you want to make a redirect from the main domain to your wiki's Main Page (e.g. http://example.org/ &rarr; http://example.org/wiki/Main_Page ). Then you always have to set up the .htaccess file in the top level, even if the other directories are nested deeper.

Setting up the rewrite rules
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 .htaccess files, Patterns are not relative to the complete, original URI. For .htaccess 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  module must be enabled in Apache or LiteSpeed servers for the examples that follow.

If you are using VirtualHosts, be sure that settings are placed inside the VirtualHost declaration

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 choose in the beginning (if different).

If you decide to customize this, be sure to never include  or something like it in the rewrite. Including a query will cause MediaWiki's built in handling to be overridden and will create bugs on your wiki due to the fact that Apache's query rewrites are broken. The goal here is to alias paths to /index.php and then let MediaWiki itself take care of parsing and routing the url, based on the configuration in LocalSettings.php. 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. "/index.php" "/images" etc.): If you are using a script path and article path that match such as  and   you will also need to use the same two RewriteCond lines on your RewriteRule. However please note that there is no real valid reason to configure your wiki this way. If your article path is already a subdirectory you should just move your wiki's script path to another directory. Such as  and   or   and.
 * 1) ↑ The Apache mod_rewrite Problem

Sometimes, the above example doesn't work. The following (you can't set this in a .htaccess, 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: Make sure that the order of rules as given in the example is being preserved, i.e. "Short url for wiki pages" must be checked prior to "Redirect to Main Page".

The " " in the config is important because different Apache setups use different regexps. Some want you to use  and some want you to use. The  in " " allows this rule to work in both contexts.

The  in the config ensures that Apache has the correct non-ambiguous path. However it does not work on some badly configured free hosts. If you have 404 or 403 issues with your RewriteRules, remove the " " parts and try again.

If your SCRIPT_PATH leads to some other physical location (known as "symlink" in Unix, "shortcut" on Windows, "alias" in Mac OS X), you may need to allow Apache to follow those. You can do so by adding this line above the :

If the path to your script directory is aliased by the webserver via an Alias directive, as it is in Debian among others, the RewriteRule will work as long as you add the PT flag (ie: change  to  )  to Pass Through the request to the next handler - mod_alias, which will correctly redirect the request, as per Stack Overflow

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