Проблема, собственно, вот в чем: постучав в site.ru/somewhere, и не указав креденциалы, мы словим 401 и все будет хорошо. А вот если постучать в site.ru/somewhere/index.php, скрипт благополучно исполнится и выдаст результат браузеру.
Понимаю, вопрос идиотский, и все же — каким образом расширить действие авторизации на всю начинку?
При подобной сборке локейшена и скрипт исполняется, и авторизация работает. Однако мне очень и очень не нравится монструозность подобной конструкции. Буду благодарен, если кто-то поможет найти более элегантное решение.
Совсем забыл: при подобного рода конфиге конкретный локейшен должен быть в конфиге обязательно прежде более общего location ~ .php$ {...}, иначе мы получим исходную ситуацию.
Доки читать не пробовали?
В них явно написано, что месторасположение локейшинов значения не имеют, приоритет идет у регулярных выражений. Посмотрите доклад Игоря по этому поводу, он там хорошо объясняет. Вот только как видео называется не помню, но он и не так много докладов делал по поводу конфига своего продукта ).
Однако, поторопился. При подобном варианте авторизация действительно срабатывает, однако скрипт не исполняется, а пытается скачаться, что наталкивает на мысль, что через fpm он не прошёл.