Manual:$wgUrlProtocols

Details
Defines the URL protocols that MediaWiki will recognize as valid in wfParseUrl.

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  that are used in a wide variety of different places.

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

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

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.

For Firefox, a plugin is required or use exactly 5 slashes like file://///host/share, see )

In MediaWiki 1.20.2+, adding  without trailing slashes to   will break image embedding using the   syntax.

This is phab>phabricator:T46011|a known bug related to a change that made URL protocol matching case-insensitive. As a workaround, use  instead of   as shown below.

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

Usually you only want to add protocols without trailing slashes to this array.

Default value
The default value is

Advanced modification
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, e.g. in API calls and in page content.

In particular, removing 'http://' or other common protocols will probably break huge amounts of stuff.

Certain protocols may collide with the name of a namespace in your wiki, e.g. you may have a "News" namespace, which collides with the "news:" protocol. In order to allow links to this namespace, you can do something like this: