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

Чистые URL-адреса Nginx и PHP-FPM

Предисловие

Я потратил 40 с лишним часов, пытаясь создать конфигурацию Nginx, соответствующую моему OCD. Мне много раз говорили в IRC, что я слишком разборчив и чистые URL-адреса очень сложно писать. Я студент колледжа, и системное администрирование даже не моя работа! Тем не менее, я ищу идеальную установку. Такая конфигурация может быть невозможна в этом мире, если да, дайте мне знать. Если вы знаете ответ, но хотите получить деньги, дайте мне знать. Я думаю о создании репозитория Github и настройке Tip4commit или BountySource для оплаты тех, кто отправляет запросы на перенос. Я думаю, было бы здорово создать репозиторий лучших практик Nginx с открытым исходным кодом и большим количеством документации. Что касается моего фактического вопроса, я собираюсь разбить свой запрос / вопрос на 5 частей. Некоторые из них будет легко сделать, однако каждая часть должна быть совместима друг с другом и формироваться в одну конфигурацию Nginx. Это сложная часть запроса / вопроса.

Связанный вопрос: это слишком много работы? Что мне следует использовать: octohost.io, flynn.io или github.com/progrium/dokku?

Чистые URL

foo.com/index > foo.com 
foo.com/ > foo.com 
foo.com/folder/index > foo.com/folder/ 
foo.com/bar.html > foo.com/bar 
foo.com/bar.htm > foo.com/bar 
foo.com/bar.php > foo.com/bar 

Другие правила: * Порядок для типов файлов: .PHP, .HTML * 403 и 404 отправляйте в /404.html * Никогда не добавляйте конечную косую черту * Если файл и каталог названы одинаково, найдите файл индекса в каталоге , если его нет, ищите файл.

Поддержка PHP-FPM

Помимо поддержки файлов .html, основная конфигурация должна поддерживать файлы .php.

Поддержка HTTPS и WWW перенаправления

http://example.com > https://example.com
www.example.com > example.com
example.com > www.example.com

Шаблон для различных типов базовых и безопасных перезаписей

Пример: запросы на перенаправление example.com/feed/ на feed.xml, но не показывают истинный URL.

Лучшие практики для современной веб-разработки

Включить https://github.com/h5bp/server-configs в главную конфигурацию.

Безопасность

Запретить запуск rouge PHP: https://nealpoole.com/blog/2011/04/setting-up-php-fastcgi-and-nginx-dont-trust-the-tutorials-check-your-configuration/

Мой пост HackerNews: news.ycombinator.com/item?id=7640692