Jump to content

Handbuch:$wgActionPaths

From mediawiki.org
This page is a translated version of the page Manual:$wgActionPaths and the translation is 79% complete.
Server-URLs und Dateipfade: $wgActionPaths
Paths for various user actions. Used to make URLs prettier.
Eingeführt in Version:1.5.0 (r7538)
Entfernt in Version:Weiterhin vorhanden
Erlaubte Werte:Nicht angegeben
Standardwert:[]

Details

Setzen Sie Handbuch:Kurz-URL und stellen Sie sicher , dass es zuerst funktioniert

Um "pretty" URL-Pfade für andere Aktionen als plain-Seitenansichten einzustellen, fügen Sie das diesem Array hinzu.

Zum Beispiel:

$wgActionPaths['edit'] = "$wgScriptPath/edit/$1";

Es muss eine entsprechendes Skript oder eine Umschreibungsregel vorhanden sein, um diese URLs zu verarbeiten.

Beispielkonfigurationen

Diese Beispiele umfassen Beispiel .htaccess-Dateien für Apache-Server mit mod_rewrite.

Andere Server haben andere Möglichkeiten, URL-Umschriften zu erledigen.

Action paths from root

Dies setzt Aktionswege des Formulars http://mywiki.example.com/edit/Cucumber etc. ein.

LocalSettings.php
$actions = [
	'view',
	'edit',
	'watch',
	'unwatch',
	'delete',
	'revert',
	'rollback',
	'protect',
	'unprotect',
	'markpatrolled',
	'render',
	'submit',
	'history',
	'purge',
	'info',
];

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/$action/$1";
}
$wgArticlePath = $wgActionPaths['view'];

extra htaccess rules

.htaccess
Achten Sie darauf "/mediawiki/index.php" zu ändern, wo Sie MediaWiki installiert haben
RewriteRule ^/([a-z]*)/(.*)$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]

Aktion am Ende

Dies setzt Aktionswege des Formulars http://mywiki.example.com/Cucumber/edit etc. ein.

$actions = [
	'edit',
	'watch',
	'unwatch',
	'delete',
	'revert',
	'rollback',
	'protect',
	'unprotect',
	'markpatrolled',
	'render',
	'submit',
	'history',
	'purge',
	'info',
];

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/$1/$action";
}
$wgActionPaths['view'] = "/$1";
$wgArticlePath = $wgActionPaths['view'];

Non root action paths

For standard example.com/wiki/Main_Page rewrites to example.com/wiki/view/Main_Page use above config and change this line to include "/wiki":

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/wiki/$action/$1";
}

For standard example.com/wiki/Main_Page view urls, and rewrites to example.com/wiki/edit/Main_Page

$actions = [
	'edit',
	'watch',
	'unwatch',
	'delete',
	'revert',
	'rollback',
	'protect',
	'unprotect',
	'markpatrolled',
	'render',
	'submit',
	'history',
	'purge',
	'info',
];

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/wiki/$action/$1";
}
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];

Aktion am Ende

For standard example.com/wiki/Main_Page view urls, and rewrites to example.com/wiki/Main_Page/edit

Sie können keine Unterseiten der Hauptseiten mit dem Namen "Löschen, Bearbeiten, Beobachten, Entbeoacheten" usw. aus dem Array haben, wenn Sie so einrichten.
$actions = [
	'view',
	'edit',
	'watch',
	'unwatch',
	'delete',
	'revert',
	'rollback',
	'protect',
	'unprotect',
	'markpatrolled',
	'render',
	'submit',
	'history',
	'purge',
	'info',
];

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/wiki/$1/$action";
}
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];

Virtuelle Aktionen / Verzeichnisse

Hier werden URLs wie http://mywiki.example.com/wiki/action/edit/Cucumber usw. eingestellt.

Um die meisten[1] Aktionen für einen bestimmten Pfad neu zu schreiben, könnte man die folgenden Änderungen an der LocalSettings.php machen:

$actions = [
	'view',
	'edit',
	'watch',
	'unwatch',
	'delete',
	'revert',
	'rollback',
	'protect',
	'unprotect',
	'markpatrolled',
	'render',
	'submit',
	'history',
	'purge',
	'info',
];

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "$wgScriptPath/action/$action/$1";
}
$wgArticlePath = $wgActionPaths['view'];

In Apache, programmiere eine Umschreibungsregel ähnlich wie die folgende:

RewriteRule ^/action/([a-z]*)/(.*)$ /index.php [L,QSA]

Dies wird alle Anfragen an /action/actionword/title and MediaWiki's index.php weiterleiten, weches die Aktionen und den Titel den $wgActionPaths-Einstellungen entsprechend auslesen.

Bei der Konfiguration von Apache mod_negotation, um PHP Skripte auszuführen, sollte darauf geachtet werden, um nicht (406 Nicht akzeptable?) Fehler zu verursachen, wenn mit dieser Methode gearbeitet wird, die möglicherweise in einigen Fällen eine Verzeichnisliste aussetzen, siehe [1], [2]. Siehe auch bugzilla:21617.

Spam Vorbeugung

Die Verwendung von $wgActionPaths, insbesondere für die Bearbeiten-Aktion scheint die Zahl der von Spam-Bots versuchten Artikelbearbeitungen zu reduzieren. Es wird vermutet, dass Bots programmiert sind um nach action=edit zu suchen, um eine MediaWiki-Installation zu erkennen und entsprechend zu handeln. In diesem Sinne, wäre es von Vorteil Ihr action-Präfix in etwas nicht offensichtlichen zu benennen, so können Bots Ihre Webseite nicht finden, wenn sie auf der Suche nach action/edit sind.


  1. It is currently not possible to have a $wgActionPath for the 'raw' action.