Manual:$wgUrlProtocols/ru
Parser: $wgUrlProtocols | |
---|---|
Определяет протоколы, которые поддерживаются и транслируются парсером mediawiki в HTML. |
|
Введено в версии: | 1.5.0 (r10229) |
Удалено в версии: | всё ещё используется |
Допустимые значения: | (массив строк) (1.6+) (строка, содержащая регулярное выражение) (1.5) |
Значение по умолчанию: | см. ниже |
Другие настройки: По алфавиту | По функциональности |
Подробности
Определяет список URL протоколов, которые MediaWiki будет распознавать как валидные в wfParseUrl().
Используется во многих местах.
Наиболее заметный эффект - определение, какие протоколы разрешены для внешних ссылок: не распознанные протоколы будут игнорироваться без генерации ссылок.
Однако, данный список также используется во многих других местах, включая код для Special:LinkSearch и вспомогательные функции, такие как wfParseUrl()
, используемые во многих местах.
Следующие примеры не работают (так как "test://"
не объявлен как валидный протокол):
- test://www.example.com
- [test://www.example.com]
- [test://www.example.com link text]
- Некоторые браузеры, такие как Mozilla Firefox, не позволяют переходить по ссылкам с URL file на страницах, полученных по HTTP. Это сделано из соображений безопасности. Обратитесь к этой статье mozillaZine для получения подробностей, в том числе советов как обойти это ограничение.
- Большинство браузеров не поддерживает URL "удалённых файлов" типа
file://host/share
(только Internet Explorer обрабатывает их по-умолчанию. Для Firefox необходимо либо установить дополнение, либо использовать ровно 5 слешей:file://///host/share
, см. [1])
Что бы разрешить ссылки на локальные файлы (что может иметь смысл в локальной сети), поместите в ваш LocalSettings.php :
$wgUrlProtocols[] = "file://";
Обычно вам требуется добавлять протоколы только в следующий массив:
Значения по умолчанию
Версия MediaWiki: | ≥ 1.38 Gerrit change 876412 |
Версия 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:',
'//',
];
Версии 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://', '//',
];
Версии 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
);
Версии 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
);
Версия 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://',
);
Версии 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://',
);
Версии 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:'
);
Версия MediaWiki: | 1.5 |
$wgUrlProtocols = 'http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:';
Расширенная настройка
Все протоколы объявленные по-умолчанию должны быть безопасны для перехода по клику (без проблемных побочных эффектов), а удаление протокола из списка вызовет невозможность распознать URL, использующих этот протокол, во многих местах программы. На практике, удаление 'http://' или другого протокола общего пользования может сломать огромное количество вещей. В любом случае, если вам нужно это сделать (например, вы уже добавили пространство имён News:), вы можете сделать как-то так:
$wgUrlProtocols = array_diff($wgUrlProtocols, array('news:'));
См. также
- URI schemes (для истории)
- UNC links