2008-10-24 6 views
7

Каков наилучший способ сделать трейлинг-косые черты неважными в последней версии маршрутов (1.10)? Я в настоящее время я использую четко не-DRY:Трейлинг косые черты в Pylons Маршруты

map.connect('/logs/', controller='logs', action='logs') 
map.connect('/logs', controller='logs', action='logs') 

Я думаю, что поворот на минимизацию будет делать трюк, но я под впечатлением, что он был отключен в новых версиях маршрутов по причине. К сожалению, документация, похоже, не дотягивает до разработки маршрутов, поэтому я не могу найти никаких хороших ресурсов. Есть идеи?

+0

Что ваш веб-сервер? – jonnii 2008-10-24 20:54:10

ответ

7

Есть два возможных пути решения этой:

  1. Do it entirely in pylons.
  2. Add an htaccess rule to rewrite the trailing slash.

Лично я не люблю слэш, потому что если у вас есть URI, как:

http://example.com/people

Вы должны быть в состоянии получить те же данные в формате XML, перейдя в:

http://example.com/people.xml

+2

Легко угадываемые URL-адреса хороши, поэтому людям нужно разрешать ходить/людям и/людям/и видеть то же самое. Канонические URL-адреса также хороши, поэтому один из них должен перенаправляться на другой. – 2009-09-17 20:17:33

2

http://www.siafoo.net/snippet/275 имеет основную часть промежуточного программного обеспечения, который удаляет слэш из запросов. Умная идея, и я понял концепцию промежуточного программного обеспечения в приложениях WSGI намного лучше, когда понял, что это делает.

16

Следующий фрагмент кода добавляется как последний маршрут работал для меня:

map.redirect('/*(url)/', '/{url}', 
      _redirect_code='301 Moved Permanently') 
+0

Я на 90% уверен, что нашел его где-то в сети, но на данный момент я не могу предоставить правильную атрибуцию. – 2009-09-17 20:20:08

 Смежные вопросы

  • Нет связанных вопросов^_^