Manual:$wgUrlProtocols

Details
Defines the URL protocols that MediaWiki will recognize. This is used in lots of places. The most visible effect is it determines what protocols are allowed for external links: unrecognized protocols are ignored, no link is generated. However, it's used in many other places too, including the code for Special:LinkSearch, and utility functions like wfParseUrl that are used in a wide variety of different places.

Some examples that don't work (because "test://" is not defined as a valid protocol):


 * test://www.example.com
 * [test://www.example.com]
 * [test://www.example.com link text]

To allow links to local files (which may make sense in an intranet context), put this into your LocalSettings.php:

some browsers, like Mozilla Firefox, will not follow file URLs on pages that have been loaded via HTTP. This is a security measure. See this mozillaZine article for more information, including some hints on how to overcome this restriction.

most browsers do not support "remote file" URLs like file://host/share (only Internet Explorer handles these per default, a plugin is required for Firefox, see )

Usually you only want to add protocols to this array. The default protocols should all be safe to click on (no evil side effects), and removing a protocol from the list will cause URLs using those protocols to become unrecognized in many places throughout the software. In particular, removing 'http://' or other common protocols will probably break huge amounts of stuff.

1.6.0 and above
Since 1.6.0, the format of this setting is simply an array of allowed URL prefixes.

This default value adds three new protocols to the ones covered by the earlier 1.5.x versions:
 * telnet://
 * nntp://
 * worldwind://

Later versions add a few more protocols, so as of 1.16 the list is

|' (with '/' converted to '\/' because '/' has a special meaning in a regular expression.

This default value causes MediaWiki to render URIs with the following prefixes as external links:
 * http://
 * https://
 * ftp://
 * irc://
 * gopher://
 * news:
 * mailto:

Older Versions
If you need this functionality in older Versions:

There is the function replaceExternalLinks in ./includes/Parser.php. Just add a line for your protocol there.