Extension:ExternalRedirect

The ExternalRedirect extension allows to create redirects to external pages in wiki.

Usage
A new parser function externalredirect with URL as first and only parameter is registered.

Place something like this on wiki page to make it redirect to external site:

This allows, for example, to add external links to Categories (by placing pages with externalredirect in them).

Download instructions
Download both .php files from GitHub (feel free to move this repository to MediaWiki Git) and place them in.

Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.

Installation
To load this extension, add the following four lines to LocalSettings.php: Load the extension from its source directory.

Populate this array with NUMERIC namespace IDs where external redirection should be allowed. Only allow on write-protected namespaces! See Manual:Namespace for more info on namespaces and numeric IDs. This example allows redirects from help pages (12) and pages from custom namespace with numeric ID 500.

Populate this array with page names (see magic word ) where external redirection should be allowed. Only allow on write-protected pages! This example allows redirects from the wiki pages about Warren G. Harding and the Teapot Dome Scandal.

Whether to display link to redirection URL (along with error message) in case externalredirect is used where it is not allowed.

Security
This extension is meant for usage only on write-protected wikis/namespaces/pages. Here is an example how to add a name space editable only by the sysops. In LocalSettings.php: define("NS_MOVED", 500); $wgExtraNamespaces[NS_MOVED] = "Moved"; $wgNamespaceProtection[NS_MOVED]=array('redirector'); $wgNamespacesWithSubpages[NS_MOVED]=false; $wgGroupPermissions['sysop']['redirector']=true; require_once("$IP/extensions/ExternalRedirect/ExternalRedirect.php"); $wgExternalRedirectNsIDs = array(500);

With version 1.0.2 there is introduced basic URL validation (using ) which prevents seriously malformed URLs, but still allows redirection to arbitrary sites.