Перенаправление маски во временный домен с помощью mod_rewrite - PullRequest
2 голосов
/ 01 октября 2008

Мы ведем блог компании по адресу 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, но не на другом сервере?

Спасибо

Ответы [ 3 ]

3 голосов
/ 01 октября 2008

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

Вот больше инструкций и примеров .

0 голосов
/ 01 октября 2008

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

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

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

Таким образом, запрос http://mycompany.com/blog/article_xyz приведет к загрузке и отправке сценария 404 http://blog.companyname.com/article_xyz.

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

-Adam

0 голосов
/ 01 октября 2008

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

...