Назад | Перейти на главную страницу

Необходимо связать блог WP с приложением Rails на Heroku

У меня есть клиент, который хочет перенести свое приложение Rails на Heroku. Однако у клиента также есть блог, связанный с его доменом, который работает на WordPress. В настоящее время блог WordPress успешно работает вместе с приложением Rails, но после перехода на Heroku это явно станет невозможным.

URL-адрес приложения похож на http://mydomain.com, а URL-адрес блога похож на http: // мойдомен / блог.

Я понимаю, что лучшее долгосрочное решение - переделать блог в формате Rails, таком как Toto или Jekyll. Но в краткосрочной перспективе, как лучше всего продолжить размещение блога WP там, где он находится (или где-то еще), но использовать Heroku для запуска приложения? Клиент не хочет, чтобы блог находился в поддомене, но чтобы он оставался в моем домене / блоге по причинам SEO, а также из-за того, что в блог есть трафик. У меня есть две идеи:

Используйте rack_rewrite или refraction (или просто обычный старый 301 и Apache mod_rewrite) на старом (не Heroku) сервере, чтобы перенаправить основной URL-адрес со старого сайта на Heroku. В этом случае я могу просто оставить блог Wordpress, который будет счастливо работать там, где он есть. Думаю?? Есть ли причина выбрать один из этих вариантов (rack_rewrite, refraction или mod_rewrite) среди других, если я сделаю это таким образом?

Переключите информацию DNS, чтобы указать на сайт Heroku, а затем используйте перенаправление 301 с блога на старый сайт. Но тогда мне придется разместить старый (не Heroku) сайт в субдомене и все равно использовать какие-то правила перезаписи, чтобы это выглядело так, как будто это не субдомен.

Какой из этих подходов предпочтительнее, или есть другой способ сделать это проще, который мне не хватает?

Лично я бы настроил перезапись 301 для / blog и отправил бы его в поддомен, например blog.domain.com. Дает гораздо больше гибкости при выборе сервера, на котором вы ведете свой блог, скажем, в будущем клиент захочет использовать tumblr или Wordpress.com. Кроме того, поскольку это 301 редирект, любая существующая ссылка по-прежнему будет работать, и SEO не должно выполняться.

Если они действительно хотят, чтобы это была подпапка, вы можете сделать то, что рекомендует Майкл, если ваш текущий хост / установка поддерживает mod_proxy, который будет работать. Или вы можете настроить такое правило перезаписи (клиент для нашей службы хостинга использует что-то подобное)

RewriteEngine on
RewriteBase /
RewriteRule ^blog(.*) - [L] 
RewriteRule ^(.*)$ http://yourapp.heroku.com/$1 [NC,R=302]

Зная, что это временный промежуток, я бы подумал о том, чтобы сделать что-то вроде обратного прокси-перехода Apache обратно в Heroku. У приложения на Heroku должно быть имя вроде yourapp.heroku.com, и вы можете без проблем отправлять на него трафик.

Взгляни на эта документация для указателей.