Apache. Создание алиасов и редиректов

Обычно URL path(URL путь) и File path(Путь в файловой системе относительно виртуального сервера) идентичны. Например, www.example.com/images/foo.gif означает(обычно), что файл находится в /home/example/www/images/foo.gif.

Однако, это может быть изменено благодаря тому, что в Apache называется алиасами(ссылками, псевдонимами). То есть алиас позволяет сослаться в другое место, отличное от физического пути. Например, Обращаясь к /images как из прошлого примера, может быть пользователю отдано содержимое каталога /var/www/images.

Алиасы бывают глобальные или привязанные к конкретному виртуальному серверу.

Для создания алиаса проделайте следующие шаги:

1. На главной странице модуля, выберите виртуальный сервер для которого вы хотите создать алиас. Или, если это будет глобальный алиас выберите Default Server(Сервер по умолчанию).

2. На странице настроек виртуального сервера нажмите на иконку Aliases and Redirects(Алиасы и Редиректы).

3. Заполните пустую строку в таблице Document directory aliases(Таблица алиасов). В поле From(От) введите URL путь, и реальный путь в поле To(Куда). Если вы редактируете алиасы сервера по умолчанию, то там уже будет несколько стандартных алиасов.

4. Нажмите на кнопку Save(Сохранить) и Apply Changes(Применить изменения), чтобы изменения вступили в силу.

 

Существующие алиасы могут быть отредактированы, стандартным для Webmin способом - просто измените его в таблице алиасов и нажмите Save(Сохранить). Если вам нужно удалить, то просто очистите оба поля таблицы соответствующего алиаса.

Алиасы могут быть определены с помощью Perl- регулярных выражений. Но в таком случае они должны быть внесены в таблицу Regexp document directory aliases(Regexp таблица алиасов). Смысл тот же, что и у обычной таблицы алиасов, с тем отличием, что в поле From(От) вы можете ввести что-нибудь вроде ^/images/(.*)\.gif$. А в поле To(Куда) что-нибудь вроде /images/$1.jpg. Этот алиас будет перенаправлять пользователя запросившего GIF картинку, на картинку JPG с тем же именем от GIF, что запросил пользователь.

 

Редиректы в чем-то очень похожи на алиасы, но служат другой цели. Когда пользователь запросил определенный URL, на который настроен редирект, Apache перенаправит клиента на другой URL или даже на другой сервер. Например, вы можете сделать так, чтобы при обращении к www.example.com/webmin/ пользователя перенаправляло на www.webmin.com. Однако в отличие от алиасов, запрос к /webmin/foo.gif не перенаправит пользователя на www.webmin.com/foo.gif, он все также откроет только www.webmin.com.

Редиректы распознаются браузерами благодаря тому, что веб-сервер посылает специальны код - 302 и сообщает URL новый адрес.

Для настройки редиректа проделайте следующие шаги:

1. На главной странице модуля, выберите виртуальный сервер для которого вы хотите создать редирект. Или, если это будет глобальный редирект выберите Default Server(Сервер по умолчанию).

2. На странице настроек виртуального сервера нажмите на иконку Aliases and Redirects(Алиасы и Редиректы).

3. Заполните пустую строку в таблице URL redirects(Таблица редиректов). В поле From(От) введите URL путь, например /webmin, и URL путь куда перенаправить клиента в поле поле To(Куда), например www.webmin.com. Поле Status(Код статуса) необязательный параметр. Он необходим если вы хотите изменить HTTP код статуса, который будет отдаваться веб-сервером вместо кода по умолчанию(302). Вы можете изменить его на 301 или 303, в зависимости от того, что вам нужно.

4. Нажмите на кнопку Save(Сохранить) и Apply Changes(Применить изменения), чтобы изменения вступили в силу.

Чтобы добавить более одного редиректа вам нужно переоткрыть страницу.

 

Редиректы могут быть определены с помощью Perl- регулярных выражений. Но в таком случае они должны быть внесены в таблицу Regexp URL redirects(Regexp таблица редиректов). Смысл тот же, что и у обычной таблицы редиректов, с тем отличием, что в поле From(От) вы можете ввести что-нибудь вроде ^/webmin/(.*)$. А в поле To(Куда) что-нибудь вроде http://www.webmin.com/$1. Этот редирект будет перенаправлять пользователя запросившего страницу от /webmin на такую же страницу(с тем же именем) на сайте www.webmin.com.

 

Если Apache скомпилирован с поддержкой прокси модуля, то вы можете использовать его в качестве прокси-сервера. Это позволит вам организовать в сети как бы один большой веб-сайт в котором - целый Интернет. Ваши пользователи будут обращаться к вашему веб-серверу, а он будет перенаправлять запросы во внешний мир. Да, Apache как прокси-сервер не так гибок как Squid, но может вам и не нужна та гибкость.

Это будет в некотором смысле редирект, но без редиректа как такового. Поэтому существуют еще таблицы Map locale to remote URLs(Маппинг локальных URL к удаленным URL) и Map remote Location: headers to local(Обратный маппинг), которые также размещены на странице Aliases and Redirects(Алиасы и Редиректы).

Для настройки URL маппинга проделайте следующие шаги:

1. На главной странице модуля, выберите виртуальный сервер для которого вы хотите создать маппинг. Или, если это будет глобальный маппинг выберите Default Server(Сервер по умолчанию).

2. На странице настроек виртуального сервера нажмите на иконку Aliases and Redirects(Алиасы и Редиректы).

3. Заполните пустую строку в таблице Map locale to remote URLs(Маппинг локальных URL к удаленным URL). Введите URL путь на вашем веб-сервере(например, /webmin) в первое поле и полный URL куда перенаправлять запросы во второе поле(например, http://www.webmin.com).

4. Заполните пустую строку в таблице Map remote Location: headers to local(Обратный маппинг). Введите полный URL путь на удаленном веб-сервере(например, http://www.webmin.com) в первое поле и URL путь на вашем веб-сервере(например, /webmin) куда перенаправлять запросы во второе поле(например, http://www.webmin.com). Обратный маппинг должен быть обязательно настроен. Иначе ответы не будут доходит до клиентов.

5. Нажмите кнопку Save(Сохранить) для сохранения изменений и Apply Changes(Применить изменения) для вступления их в силу.

 

При настройках маппинга, помните, что проксирование это не основная функция веб-сервера. Некоторые функции могут работать не так, как вы думаете, как вы привыкли.




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика