Manual:$wgServer/ru

Детали
Базовый URL сервера, включающий протокол и без завершающего слеша («/»). (например « http://ru.wikipedia.org »).

Используется когда производный полный URL указывает на wiki, в случаях:
 * HTTP перенаправленя на редактирования и проверки URL
 * ссылки на статьи из RSS/Atom
 * и другое!

Значение по-умолчанию вычисляется автоматически (может быть переписан). Смотри ниже, чтобы узнать больше.

Некоторые веб-сервера возвращают имена по-умолчанию или внешние имена для данного хостинга, которые не нужны; для применения ServerName директивы может быть в httpd.conf Apache что-либо не установлено или не настроено, тогда можно получить неожиданный «localhost» для имени сервера. Для этого желательно настроить веб-сервер правильно, но можно также исправить при помощи LocalSettings.php.

Переписать можно также для определённых хостингов или настроек прокси.

До 1.2.0
Вычислялся вызовом.

1.2.0
Переключается на использование PHP $_SERVER[] массива взамен getenv. Автоматически получает номер порта.

$wgServer          = "http://". $_SERVER["SERVER_NAME"]; if( $_SERVER["SERVER_PORT"] != 80 ) $wgServer .= ":". $_SERVER["SERVER_PORT"];

1.3.0
Добавлен код для динамического протокола. Используется чувствительность по-умолчанию, когда запущен, к командной строке. $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 * 1) проверяет использует ли сервер https:

if ( @$wgCommandLineMode ) { $wgServer = $wgProto.'://localhost'; } else { $wgServer          = $wgProto.'://'. $_SERVER['SERVER_NAME']; if( $_SERVER['SERVER_PORT'] != 80 ) $wgServer .= ":". $_SERVER['SERVER_PORT']; } unset($wgProto);

1.3.8
Получает больше деталей из массива $_SERVER[]. if( isset( $_SERVER['SERVER_NAME'] ) ) { $wgServerName = $_SERVER['SERVER_NAME']; } elseif( isset( $_SERVER['HOSTNAME'] ) ) { $wgServerName = $_SERVER['HOSTNAME']; } else { # FIXME: Fall back on... something else? $wgServerName = 'localhost'; }

$wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 * 1) проверяет использует ли сервер https:

$wgServer = $wgProto.'://'. $wgServerName; if( isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] != 80 ) { $wgServer .= ":". $_SERVER['SERVER_PORT']; } unset($wgProto);

1.5.0
Добавлены некоторые дополнительные альтернативы для $wgServerName, если ранние тесты были неудачны, и проверяет HTTPS протокол на портах по-умолчанию перед изменением. if( isset( $_SERVER['SERVER_NAME'] ) ) { $wgServerName = $_SERVER['SERVER_NAME']; } elseif( isset( $_SERVER['HOSTNAME'] ) ) { $wgServerName = $_SERVER['HOSTNAME']; } elseif( isset( $_SERVER['HTTP_HOST'] ) ) { $wgServerName = $_SERVER['HTTP_HOST']; } elseif( isset( $_SERVER['SERVER_ADDR'] ) ) { $wgServerName = $_SERVER['SERVER_ADDR']; } else { $wgServerName = 'localhost'; }

$wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 * 1) проверяет использует ли сервер https:

$wgServer = $wgProto.'://'. $wgServerName; if(   isset( $_SERVER['SERVER_PORT'] )    && (    ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 ) || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
 * 1) Если порт не стандартный, добавляет это в URL

$wgServer .= ":". $_SERVER['SERVER_PORT']; } unset($wgProto);

1.18
Скрипт установки настраивает эту преременную в файле LocalSettings.php. However, if it is not set in LocalSettings.php, the server name will be detected at run time using the method.