Manual:$wgActionPaths
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: | [] |
Andere instellingen: Alfabetisch | Per functie |
Details
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
$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.
- ↑ Het is momenteel niet mogelijk om een $wgActionPath voor de 'raw' actie te hebben.