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

nginx - proxy_pass без редиректа

У меня есть сайт на AngularJS. Сайт использует режим hashbang, и в настоящее время у меня возникла проблема с предварительной отрисовкой.

У моего веб-сайта есть такой URL: http://www.watchawearin.com/#!/item/511 и у меня есть бэкэнд по URL: http://www.watchawearin.com/api/.

Теперь, когда Facebook посещает указанный выше URL-адрес, он становится: http://www.watchawearin.com/?_escaped_fragment_=/item/511 и это нормально, у меня есть конфигурация для этого в nginx:

if ($prerender = 1) {
    rewrite .* /api/prerender break;
    proxy_pass $scheme://www.watchawearin.com;
}

Facebook получает предварительно отрисованную страницу, но перенаправляется на: http://www.watchawearin.com/api/prerender/?_escaped_fragment_=%2Fitem%2F511.

Могу ли я добиться обслуживания предварительно обработанной страницы, но без перенаправления?

Итак, я нашел решение:

if ($prerender = 1) {
    rewrite .* /api/ last;
}

и в / api / у меня есть серверная часть фреймворка PHP, где у меня есть сопоставление маршрутов ?_escaped_fragment_=/... и я могу делать с ним все, что хочу.