Manual:$wgActionPaths

From MediaWiki.org

Jump to: navigation, search
Paths: $wgActionPaths
Paths for various user actions. Used to 'pretty' URLs.
Introduced in version: 1.5.0
Removed in version: still in use
Allowed Values:
Default Value: array()

Other settings: Alphabetical | By Function


[edit] Details

To set 'pretty' URL paths for actions other than plain page views, add to this array. For instance:

 'edit' => "$wgScriptPath/edit/$1"

There must be an appropriate script or rewrite rule in place to handle these URLs.

[edit] Rewrite rules

This option needs an appropriate rewrite rule to work.

To rewrite most[1] actions to a specific path, one could make the following changes to LocalSettings.php:

$actions = array('view', 'edit', 'watch', 'unwatch', 'delete','revert', 'rollback', 'protect',
  'unprotect','info','markpatrolled','validate','render','deletetrackback','print',
  'dublincore','creativecommons','credits','submit','viewsource','history','purge');
 
foreach ($actions as $a) 
  $wgActionPaths[$a] = "$wgScriptPath/action/$a/$1";
 
$wgArticlePath = "$wgScriptPath/action/view/$1";

In Apache, code a rewrite rule similar to the following:

RewriteRule ^/action/([a-z]*)/(.*)$ /index.php?action=$1&title=$2 [L,QSA]

This will forward all requests to /action/actionword/title to index.php?action=actionword&title=title.

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

[edit] Spam prevention

Using $wgActionPaths, especially for the edit action seems to reduce the number of spam bots attempting article edits. It is suspected that bots are programmed to look for action=edit to identify a MediaWiki installation and act appropriately. With this in mind, it would be beneficial to name your action prefix something non-apparent so bots can't find your site when they start looking for action/edit.