Я создаю таблицу маршрутов в своем приложении Pylons. Я не могу заставить redirect () работать так, как он должен работать. Я не уверен, что я делаю неправильно.
Вот пример использования redirect () из документации Routes :
map.redirect("/home/index", "/", _redirect_code="301 Moved Permanently")
Вот что появляется в моем файле routing.py:
map.redirect("/view", "/", _redirect_code="301 Moved Permanently")
Вот маршрут с использованием redirect (), который появляется в конце моего файла routing.py:
map.redirect('/*(url)/', '/{url}', _redirect_code="301 Moved Permanently")
Этот маршрут работает просто отлично, поэтому я знаю, что redirect () присутствует и работает. Поэтому я что-то не так делаю в редиректе / view. Я знаю это, потому что когда я указываю своему браузеру на / view, я получаю страницу 404 вместо того, чтобы перенаправляться. Переход к / работает просто отлично, так что я не думаю, что проблема тоже есть. Я думаю, что redirect () в Routes - отличная идея, и я хотел бы использовать ее по назначению, но я не уверен, что я делаю здесь неправильно.
ETA @jasonjs: я считаю, что ни один другой маршрут не подходит. Когда я пытаюсь получить доступ / посмотреть, а затем посмотреть на вывод Пастера, вот что я получаю:
21:22:26,276 DEBUG [routes.middleware] No route matched for GET /view
что мне кажется довольно убедительным. Я должен упомянуть, что есть маршрут, который соответствует запросам POST к / view:
map.connect('/view', controller='view', action='search', conditions=dict(method=['POST'])
Этот маршрут также работает корректно, и я уже перечислил его ранее в routing.py, чтобы он пытался сопоставить его, прежде чем попытаться сопоставить маршрут / view [GET].