Manuel:$wgActionPaths
URLs de serveur et chemins de fichiers: $wgActionPaths | |
---|---|
Chemins pour les diverses actions utilisateur. Utilisé pour obtenir de 'jolies' URLs. |
|
Introduit dans la version : | 1.5.0 (r7538) |
Retiré dans la version : | Encore utilisé |
Valeurs autorisées : | Non renseigné |
Valeur par défaut : | [] |
Autres paramètres : Alphabétique | Par fonction |
Détails
Pour donner de 'jolis' chemin d'URL pour les actions autres que les visualisations de page simple, ajoutez-les à ce tableau.
Par exemple :
$wgActionPaths['edit'] = "$wgScriptPath/edit/$1";
En plus de l'initialisation de cette variable, vous devez ajouter un script approprié ou une règle de réécriture serveur pour gérer ces URLs.
Exemples de configurations
Ces exemples incluent des fichiers .htaccess d'exemple pour les serveurs Apache utilisant mod_rewrite.
Les autres serveurs auront des manières différentes de réaliser les réécritures d'URL.
Chemins d'actions à partir de la racine
Ceci configure les chemins d'actions de la forme http://mywiki.example.com/edit/Cucumber
etc.
- 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'];
Règles htaccess additionnelles
- .htaccess
- Assurez-vous de modifier « /w/index.php » vers l'endroit où vous avez installé MediaWiki
RewriteRule ^/([a-z]*)/(.*)$ %{DOCUMENT_ROOT}/w/index.php [L,QSA]
Action à la fin
Ceci configure les chemins d'actions de la forme http://mywiki.example.com/Cucumber/edit
etc.
$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'];
Chemins d'actions non racine
Pour les réécritures standard de example.com/wiki/Main_Page vers example.com/wiki/view/Main_Page , utilisez la configuration ci-dessus et changez cette ligne pour inclure /wiki :
foreach ( $actions as $action ) {
$wgActionPaths[$action] = "/wiki/$action/$1";
}
Pour l'affichage standard des urls de example.com/wiki/Main_Page, et les réécritures en 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'];
Action à la fin
Pour l'affichage standard des urls de example.com/wiki/Main_Page, et les réécritures en example.com/wiki/Main_Page/edit
$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'];
Action virtuelle / répertoires
Ceci configure les URLs telles que http://mywiki.example.com/wiki/action/edit/Cucumber
etc.
Pour réécrire la plupart[1] des actions vers un chemin spécifique, on peut effectuer les modifications suivantes dans 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'];
Sous Apache, codez une règle de réécriture comme suit:
RewriteRule ^/action/([a-z]*)/(.*)$ /index.php [L,QSA]
Ceci transférera toutes les requêtes vers /action/actionword/title à index.php de MediaWiki qui analysera l'action et le titre en fonction de votre configuration de $wgActionPaths .
En configurant mod_negociation
de Apache pour exécuter des scripts PHP tout en utilisant cette méthode, il faut faire attention à ne pas provoquer d' « erreurs 406 Not Acceptable » qui pourraient, dans certains cas, afficher une liste du répertoire; voyez [1], [2].
Voyez aussi bugzilla:21617.
Prévention contre les pourriels
Utiliser $wgActionPaths, surtout pour l'action Modifier, semble réduire le nombre de robots pollueurs tentant de modifier les articles. On suppose que les robots sont programmés pour rechercher « action=edit » pour identifier une installation MediaWiki et agir en conséquence. En ayant cela à l'esprit, il serait bénéfique de nommer votre préfixe action en quelque chose de non visible, de façon à ce que les robots ne puissent pas trouver votre site quand ils commencent à rechercher action/edit.
- ↑ Il n'est actuellement pas possible d'avoir un $wgActionPath pour l'action 'raw'.