Manual:$wgActionPaths

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgActionPaths and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎français • ‎magyar • ‎português do Brasil • ‎русский • ‎日本語 • ‎한국어
URLs and file paths: $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 Manual:Short 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 = array( '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

$actions = array( '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 = array( '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 = array( '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 = array( '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.