Настройки Nginx для Laravel

Дмитрий Корнев
27 декабря 2019

Основные настройки ничем не отличаются от типовых. Специфичное прокомментировано. Дополнительные опции позволяют избежать дублирования страниц. Это важно для продвижения сайта в поисковых системах.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name сайт.ком;
    ...

    # Удаление index.php
    if ($request_uri ~* "^(.*/)index\.php/*(.*)") {
        return 301 $1$2;
    }

    # Удаление слеша в конце
    if (!-d $request_filename) {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # Удаление двух слешей подряд.
    # Осторожно, это не всегда приемлемо!
    if ($request_uri ~* "\/\/") {
        rewrite ^/(.*) /$1 permanent;
    }

    # Из документации Laravel
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    ...
}

Подсмотрено здесь.

Комментарии