Как заставить сервер разработки pelican доставлять файлы без расширения?

Я использую Pelican для разработки некоторых статических веб-сайтов HTML, которые настроены для обслуживания красивых URL-адресов, но сервер разработки не обслуживает страницы без расширения файла.

/output/index.html -> should be accesible sith http://localhost:8000 (works)
/output/contact.html -> should be accesible sith http://localhost:8000/contact (doesn't work)
/output/products/index.html -> should be accesible sith http://localhost:8000/products (doesn't work)

На производстве это обслуживается nginx, который настроен правильно, поэтому он обслуживает документы с красивыми URL-адресами.

Проблема в том, как заставить сервер devenv делать то же самое?


person sorin    schedule 12.08.2013    source источник


Ответы (2)


«devserver» — это просто оболочка вокруг python -m SimpleHTTPServer, который, как следует из названия, представляет собой очень простой веб-сервер, не обладающий всеми функциями перезаписи Nginx. Возможные решения включают:

  1. Вывод всех файлов через шаблон /output/products/index.html и локальный доступ по адресу http://localhost:8000/products/ (но не http://localhost:8000/products)

  2. Установите и настройте nginx локально в соответствии с конфигурацией на стороне сервера.

person Justin Mayer    schedule 12.08.2013
comment
Я сделал патч, реализующий эту отсутствующую функцию github.com/getpelican/pelican/pull/1040 - person sorin; 12.08.2013

Кажется, этого не хватало, но с минимальными усилиями я смог добавить эту функцию в SimpleHTTPServer.

Вот запрос на вытягивание https://github.com/getpelican/pelican/pull/1040

person sorin    schedule 12.08.2013