Связывание Rails App и блог Wordpress на разных хостах

Я настроил приложение Rails на VPS и блог WordPress на GoDaddy. Я сделал это, потому что я не хочу устанавливать PHP на свой VPS. Кроме того, мое приложение rails использует Postgres, и хотя я знаю, что WordPress можно настроить для использования Postgres, я просто не хочу проходить через хлопоты.

как связать блог и мое приложение rails, так что блог находится по адресу:

www.mysite.com/blog

кроме того, при внутренней навигации по блогу базовый URL должен останься www.mysite.com/blog

например:

www.mysite.com/blog/article1

www.mysite.com/blog/category

и так далее....

3 ответов


предполагая, что ваш сайт Rails работает с Apache спереди, вот что вы можете поместить в VirtualHost часть вашего сайта Rails:

<Location /blog>
  ProxyPass http://godaddy.com/yourwordpress-site/
</Location>

в nginx это будет выглядеть так

location /blog {
  proxy_pass http://godaddy.com/yourwordpress-site;
}

конечно, я бы рекомендовал добавить еще несколько параметров в настройку прокси-сервера, чтобы сохранить IP-адрес исходного запросчика и т. д. Делая это таким образом, веб-сервер уже ловит запрос и даже не беспокоит ваше приложение Rails запросами, что он на самом деле не знаю.


перенаправить правильно, но не скрыть url сайта wordpress

в маршрутах вашего приложения rails.rb

match "/blog" => redirect("http://YOUR_WORDPRESS_BLOG_SITE_URL")

убедитесь, что вы не забыли добавить http/https в url перенаправления


Другой альтернативой является использование поддомена (вместо папки), как blog.mysite.com, а затем его можно обрабатывать с помощью простого и простого dns.