Я использую Google App Engine для размещения приложения AngularJS с веб-службой Python. Корневой путь / настроен на возврат index.html, запросы /api/* направляются к контроллерам Python для вызовов веб-сервисов, а любой другой путь ведет к статическим ресурсам (изображениям, представлениям и т. д.).
Я пытаюсь использовать метод hashbang/_escaped_fragment_, чтобы настроить приложение для индексации поисковой системы. Насколько я понимаю, URL-адрес http://www.whatever.com/#!/news будет преобразован поисковой системой в http://www.whatever.com/?_escaped_fragment_=/news
Не проблема написать какой-то код для обработки этого запроса, но проблема в том, чтобы этот код прослушивал корневой путь, поскольку он сопоставлен с index.html.
Есть ли метатег или что-то, чтобы указать поисковым системам использовать другой путь (не /) при выдаче запроса _escaped_fragment_?
Если нет, есть ли способ в Google App Engine получать запросы на/обслуживать index.html, но если параметр запроса _escaped_fragment_ есть, то перейти к контроллеру для обработки запроса?
На данный момент единственное, что я нашел работающим, — это наличие контроллера для корневого пути, где он проверяет параметр _escaped_fragment_. Если есть, то рендерит контент для поисковой системы, если нет, то читает index.html и записывает в ответ. Я надеюсь, что есть лучший вариант.