Location в nginx

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

UbuntuМногих останавливает использовать nginx только из-за того, что он является сложным в настройке. На деле это не так. Многие думают, почему же листинг каталогов не выводится, или реврайт не работает. Всё банально просто – нужно настраивать параметры под каждый контейнер server {} в файле nginx.conf

Итак, поехали!

1) Сделать виртуальный сервер и указать root директорию для сайта:

location / {
root /var/htdocs/mysite;
index index.php index.html index.htm;
}

2) Включить mod_rewrite. Необходимо добавить небольшую секцию к вашему локейшену, что бы она находилась под строчкой с указанием расширения root и расширения документов. Весь правильный локейшн:

location / {
root /var/htdocs/mysite;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php;
}
}

То есть за работу mod_rewrite отвечает строчка:

if (!-e $request_filename) {
rewrite ^(.*)$ /index.php;

3) Поехали дальше. Включим листинг папок root директории в server {}. Для этого нужно добавить новый локейшн:

location / {
autoindex on;
root /var/htdocs/mysite;
}

Пока все. В дальнейшем напишу подробную инструкцию по тонкой настройке nginx. Удачи!