Manuel:$wgUrlProtocols
Analyseur syntaxique: $wgUrlProtocols | |
---|---|
Définit les protocoles supportés et traduits en HTML par l'analyseur MediaWiki. |
|
Introduit dans la version : | 1.5.0 (r10229) |
Retiré dans la version : | Encore utilisé |
Valeurs autorisées : | (tableau de chaînes) (1.6+) (chaînes contenant une expression régulière) (1.5) |
Valeur par défaut : | voir ci-dessous |
Autres paramètres : Alphabétique | Par fonction |
Détails
Définit les protocoles d'URL que MediaWiki reconnaîtra comme valides dans UrlUtils::parse()
.
Ceci est utilisé à de nombreux endroits.
L'effet le plus visible est qu'il détermine les protocoles permis pour les liens externes : les protocoles non reconnus sont ignorés, aucun lien n'est généré.
Toutefois, il est aussi utilisé à de nombreux autres endroits, y compris le code pour la Recherche des liens externes, et des fonctions utilitaires comme UrlUtils::parse()
utilisées dans un grand nombre d'endroits différents.
Ces exemples ne fonctionnent pas (parce que "test://"
n'est pas défini comme un protocole valide):
- test://www.example.com
- [test://www.example.com]
- [test://www.example.com texte du lien]
- Certains navigateurs, comme Mozilla Firefox, ne suivront pas les URLs de fichiers sur les pages qui ont été chargées via HTTP. C'est une mesure de sécurité. Voyez cet article de mozillaZine pour plus d'information, y compris certains trucs sur la manière de contourner cette restriction.
- La plupart des navigateurs ne supportent pas les URLs defichiers distants comme
file://host/share
(seul Internet Explorer les gère par défaut. Pour Firefox, un module complémentaire est requis, ou bien utilisez exactement 5 barres obliques commefile://///host/share
, voir [1])
Pour permettre d'avoir des liens vers les fichiers locaux (ce qui peut avoir un sens dans le contexte d'un intranet), placez ceci dans votre LocalSettings.php :
$wgUrlProtocols[] = "file://";
En général, vous ne voudrez ajouter que des protocoles à ce tableau.
Valeurs par défaut
Version de MediaWiki : | ≥ 1.38 Gerrit change 876412 |
Version de MediaWiki : | 1.35 Gerrit change 876392 |
$wgUrlProtocols = [
'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'http://',
'https://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'matrix:', 'mms://',
'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:',
'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:',
'//',
];
Versions de MediaWiki : | 1.24 – 1.37 |
$wgUrlProtocols = [
'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'http://',
'https://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:',
'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://',
'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:','slack://', '//',
];
Versions de MediaWiki : | 1.22 – 1.23 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'ftps://', // If we allow ftp:// we should allow the secure version.
'ssh://',
'sftp://', // SFTP > FTP
'irc://',
'ircs://', // @bug 28503
'xmpp:', // Another open communication protocol
'sip:',
'sips:',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'tel:', // If we can make emails linkable, why not phone numbers?
'sms:', // Likewise this is standardized too
'news:',
'svn://',
'git://',
'mms://',
'bitcoin:', // Even registerProtocolHandler whitelists this along with mailto:
'magnet:', // No reason to reject torrents over magnet: when they're allowed over http://
'urn:', // Allow URNs to be used in Microdata/RDFa <link ... href="urn:...">s
'geo:', // urls define geo locations, they're useful in Microdata/RDFa and for coordinates
'//', // for protocol-relative URLs
);
Versions de MediaWiki : | 1.18 – 1.21 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'ircs://', // @bug 28503
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
'git://',
'mms://',
'//', // for protocol-relative URLs
);
Version de MediaWiki : | 1.17 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
'git://',
'mms://',
);
Versions de MediaWiki : | 1.15 – 1.16 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'svn://',
);
Versions de MediaWiki : | 1.6 – 1.14 |
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:'
);
Version de MediaWiki : | 1.5 |
$wgUrlProtocols = 'http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:';
Modification avancée
Les protocoles par défaut doivent tous être sûrs en cliquant dessus (sans effet de bord pervers), et supprimer un protocole de la liste fera que les URLs utilisant ces protocoles ne seront plus reconnues à de nombreux endroits du logiciel. En particulier, supprimer 'http://' ou d'autres protocoles courants provoquera certainement de nombreux soucis. Néanmoins, si vous devez le faire (par exemple, quand l'espace de noms News: existe déjà), vous pouvez faire quelque chose comme ceci :
$wgUrlProtocols = array_diff($wgUrlProtocols, array('news:'));
Voir aussi
- Schémas d'URI (historique)
- Liens UNC