Замаскируйте перенаправление на временный домен с помощью mod_rewrite

StackOverflow https://stackoverflow.com/questions/156315

Вопрос

Мы размещаем блог компании по адресу companyname.com/blog но пока блог представляет собой установку Wordpress, которая находится на другом сервере (blog.companyname.com).

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

На данный момент я использую mod_rewrite для выполнения следующего:

http://companyname.com/blog/article-name перенаправляет на http://blog.companyname.com/article-name

Могу ли я каким-то образом сохранить отображение адресной строки companyname.com/blog, даже если содержимое поступает из последней blog.companyname.com?

Я могу понять, как это сделать, если он находится на том же сервере и vhost, но не на другом сервере?

Спасибо

Это было полезно?

Решение

Вместо того чтобы использовать mod_rewrite, вы могли бы использовать mod_proxy ( мод_прокси ) настроить обратный прокси на companyname.com, чтобы запросы к http://companyname.com/blog/article-name передаются через прокси (а не перенаправляются) на http://blog.companyname.com/article-name.

Вот такие дополнительные инструкции и примеры.

Другие советы

Существует функциональность с Настройка зоны вызывается webforwards, который, вероятно, мог бы сделать это и скрыть то, что вы на самом деле делаете (если только кто-то не заглянул в это).

Единственное, что может сделать mod_rewrite, это отправлять перенаправления HTTP-заголовка, и эти перенаправления (между серверами) всегда приводят к тому, что адресная строка браузера отражает реальность.

Вместо этого вам следует подумать о написании скрипта 404, который "отражает" блог.По сути, это был бы прозрачный прокси-сервер, и многие из них уже написаны.

Скрипт обнаружил бы, начиналась ли запрошенная страница (которая была 404 'd) с http://mycompany.com/blog/ .Если бы это было так, он загрузил бы, а затем отправил на клиент страницу блога и связанные файлы (вероятно, также кэшируя их).

Поэтому прошу http://mycompany.com/blog/article_xyz приведет к загрузке и отправке скрипта 404 http://blog.companyname.com/article_xyz.

Вероятно, это потребует больше работы, чем того стоит, но, возможно, вы сможете разработать достаточно простой скрипт 404, чтобы он того стоил.

-Адам

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top