ФЭНДОМ


Главные настройки: $wgServer
Базовый URL сервера.
Появилось, начиная с версии: pre 1.1.0
Удалено в версии: ещё используется
Допустимые значения: Префикс URL (протокол, хост, опционально порт; без части пути)
Значение по умолчанию: (создаётся динамически)

Другие настройки: По алфавиту | По функциональности

Детали Править

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

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

  • HTTP перенаправленя на редактирования и проверки URL
  • ссылки на статьи из RSS/Atom
  • и другое!

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

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

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


История Править

До 1.2.0 Править

Вычислялся вызовом getenv( "SERVER_NAME" );.

1.2.0 Править

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

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

1.3.0 Править

Добавлен код для динамического протокола. Используется чувствительность по-умолчанию, когда запущен, к командной строке.

 # проверяет использует ли сервер https: 
 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
 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';
 }
 
 # проверяет использует ли сервер https:
 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
 $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';
}
 
# проверяет использует ли сервер https:
$wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
$wgServer = $wgProto.'://' . $wgServerName;
# Если порт не стандартный, добавляет это в URL
if(    isset( $_SERVER['SERVER_PORT'] )
    && (    ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
         || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
 
	$wgServer .= ":" . $_SERVER['SERVER_PORT'];
}
unset($wgProto);

1.7.0 Править

Единственное изменение состоит в том, что порт не добавляется к имени сервера, если оно уже содержит двоеточие.

/** URL of the server. It will be automatically built including https mode */
$wgServer = '';
 
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';
}
 
# check if server use https:
$wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
$wgServer = $wgProto.'://' . $wgServerName;
# If the port is a non-standard one, add it to the URL
if(    isset( $_SERVER['SERVER_PORT'] )
    && !strpos( $wgServerName, ':' )
    && (    ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
	 || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
 
	$wgServer .= ":" . $_SERVER['SERVER_PORT'];

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики