Рейтинг:1

Почему директива «break» в моей конфигурации nginx не останавливает обработку перезаписи?

флаг fr

У меня есть следующая конфигурация nginx:

сервер {
    слушать 80 default_server;
    слушать [::]:80 default_server;

    корень /var/www/html;

    индекс index.php;

    имя сервера _;

    если ($uri = /foobar) {
        сломать;
    }

    если ($remote_addr != 1.2.3.4) {
        переписать ^ https://google.com редирект;
    }

    место расположения / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    расположение ~ \.php$ {
        включить фрагменты/fastcgi-php.conf;

        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

Должен ли я http://mydomain.tld/ или же http://mydomain.tdl/foobar, меня перенаправляют в Google. я думал сломать должен был остановить обработку директив ngx_http_rewrite_module?

Ivan Shatsky avatar
флаг gr
Это. Но переменная `$uri` изменяется директивой `try_files`. Затем начался новый цикл, в котором `$uri` равно `/index.php`. Поскольку я не видел, чтобы ваша конфигурация отвечала на ваш вопрос, я не мог этого предвидеть, извините. Попробуйте `if ($request_uri = /foobar) { break; }` вместо этого. В любом случае, я ожидаю дополнительных проблем с активами.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.