Manual:$wgActionPaths

This page is a translated version of the page Manual:$wgActionPaths and the translation is 100% complete.
Server URL's en bestandspaden: $wgActionPaths
Paden voor verschillende gebruikersacties. Wordt gebruikt om URL's mooier te maken.
Geïntroduceerd in versie:1.5.0 (r7538)
Verwijderd in versie:nog steeds in gebruik
Toegelaten waardes:Niet opgegeven
Standaardwaarde:[]

Details

Stel Handleiding:Korte URL in en zorg ervoor dat het eerst werkt

Om 'mooie' URL-paden in te stellen voor andere acties dan gewone paginaweergaven, voeg je het volgende toe aan deze array.

Bijvoorbeeld:

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

Naast het instellen van deze variabele, moet u een geschikt script of server rewrite rule om deze URL's te behandelen.

Voorbeeld configuraties

Deze voorbeelden omvatten voorbeelden van .htaccess-bestanden voor Apache-servers die gebruik maken van mod_rewrite.

Andere servers zullen andere manieren hebben om URL's te herschrijven.

Actiepaden vanaf root

Dit zet actiepaden op die er zo uit zien: http://mywiki.example.com/edit/Cucumber .

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
Zorg ervoor dat je "/w/index.php" aanpast aan de plaats waar je MediaWiki hebt geïnstalleerd.
RewriteRule ^/([a-z]*)/(.*)$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]

Acties aan het einde

Dit zet actiepaden op die er zo uit zien: http://mywiki.example.com/Cucumber/edit .

$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 actiepaden

Voor standaard example.com/wiki/Main_Page herschrijvingen van de URL naar example.com/wiki/view/Main_Page, gebruik bovenstaande configuratie en wijzigt u deze regel om "/wiki" op te nemen:

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

Voor standaard example.com/wiki/Main_Page bekijkurls en het herschrijven naar example.com/wiki/edit/Main_Page bij bewerken van een pagina

$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'];

Acties aan het einde

Voor standaard example.com/wiki/Main_Page bekijkurls en het herschrijven van de URL's naar example.com/wiki/Main_Page/edit bij het bewerken van een pagina

U kunt geen subpagina's van hoofdpagina's met de naam "delete, edit, watch, unwatch" enz. uit de array hebben wanneer u deze instelling uitvoert.
$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'];

Virtual acties / mappen

Dit zet URL's op zoals http://mywiki.example.com/wiki/action/edit/Cucumber etc.

Om de meeste [1] acties te herschrijven naar een specifiek pad, zou men de volgende wijzigingen kunnen aanbrengen in LocalSettings.php :

$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, codeer een herschrijfregel, vergelijkbaar met de volgende:

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

Dit zal alle verzoeken doorsturen naar /action/actionword/title naar MediaWiki's index.php die de actie en de titel zal ontleden volgens je $wgActionPaths instellingen.

Bij het configureren van Apache mod_negotation voor het uitvoeren van PHP-scripts bij het gebruik van deze methode moet ervoor worden gezorgd dat er geen 406 Niet-aanvaardbare fouten worden veroorzaakt die in sommige gevallen een lijst met mappen kan blootleggen, zie [1], [2]. Zie ook bugzilla:21617.

Spampreventie

Het gebruik van $wgActionPaths, vooral voor de edit actie lijkt het aantal spambots die artikelbewerkingen proberen te verminderen. Het vermoeden bestaat dat bots geprogrammeerd zijn om te zoeken naar action=edit om een MediaWiki-installatie te identificeren en op de juiste manier te handelen. Met dit in gedachten, zou het nuttig zijn om uw action voorvoegsel iets niet-zichtbaars te noemen zodat bots uw site niet kunnen vinden wanneer ze beginnen te zoeken naar action/edit.


  1. Het is momenteel niet mogelijk om een $wgActionPath voor de 'raw' actie te hebben.