Manual:$wgActionPaths

Details
To set 'pretty' URL paths for actions other than plain page views, add to this array. For instance: In addition to setting this variable, you must put in place an appropriate script or server rewrite rule to handle these URLs.

Example configurations
These examples include sample .htaccess files for Apache servers using mod_rewrite. Other servers will have other ways of accomplishing URL rewrites.

Action paths from root
This sets up action paths of the form  etc.


 * LocalSettings.php

extra htaccess rules

 * .htaccess: Be sure to modify "/w/index.php" to where you have MediaWiki installed

Non root action paths
For standard example.com/wiki/Main_Page rewrites to example.com/wiki/view/Main_Page use above config and change this line to include "/wiki":

For standard example.com/wiki/Main_Page view urls, and rewrites to example.com/wiki/edit/Main_Page

action on the end
For standard example.com/wiki/Main_Page view urls, and rewrites to example.com/wiki/Main_Page/edit notice: you cant have subpages of main pages named "delete, edit, watch, unwatch" etc from the array when setup like this.

Virtual action/ directories
This sets up URLs such as  etc.

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

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

This will forward all requests to /action/actionword/title to MediaWiki's index.php which will parse the action and title according to your $wgActionPaths settings.

When configuring Apache mod_negotation to execute PHP scripts when using this method care should be taken not to cause 406 Not Acceptable errors that might in some cases expose a directory listing, see,. See also 21617.

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.