NGINX не найден (20: не каталог)

Когда я пытаюсь получить доступ к файлу с именем "файл", я получаю ошибку 404 - файл не найден.

Я проверил на сервере, существует ли он. Да, он существует.

Я проверил, принадлежит ли файл веб-пользователю. Да.

Я проверил правильное разрешение. 775 должен работать, так что да.

Проблема в том, что файл не рассматривается как файл. Nginx считает, что это папка, и ищет файл index.html.

2017/09/14 11:26:50 [error] 15085#15085: *3 "/srv/www/myfolder/file/index.html" is not found (20: Not a directory), client: 192.168.1.35, server: , request: "GET /myfolder/file/ HTTP/1.1", host: "example.com", referrer: "http://example.com/myfolder/"

Как я могу это изменить? Я также пробовал с несколькими браузерами (FF, Safari), а также cURL и wget .. все еще Ошибка 404

ОБНОВЛЕНИЕ 1

 server {

            listen 80 default_server;
            rewrite ^([^.]*[^/])$ $1/ permanent;
            gzip off;

       location /mirror {
                alias /srv/mirror;
                autoindex on;
        }

Это зеркало Debian - если я прокомментирую перезапись, я получаю эту ошибку:

 BZ2_bzread: /var/lib/apt/lists/partial/mirror.com_debian_dists_stretch_main_i18n_Translation-en.bz2 Read error (-5: DATA_ERROR_MAGIC)

Если Я прокомментирую это в разделе "Опять же, он не может найти причину перенаправления файла выпуска ...

"
-2
задан 18 September 2017 в 11:04
3 ответа

Если вы хотите, чтобы перенаправление не заканчивалось на / , вы должны оставить его в конфигурации перенаправления.

Другими словами, измените

        rewrite ^([^.]*[^/])$ $1/ permanent;

на

        rewrite ^([^.]*[^/])$ $1 permanent;
1
ответ дан 5 December 2019 в 21:22

Привет, я вижу, что ваш запрос GET - это запрос: "GET / myfolder / file / !

Если это файл, запрос GET должен быть без обратная косая черта в конце.

Правильный запрос будет.

запрос: «GET / myfolder / file

0
ответ дан 5 December 2019 в 21:22

Я только что исправил эту проблему на своем сервере. Причина ошибки - символическая ссылка.

Я только что столкнулся с этим (не очень понятным) сообщением об ошибке в конфигурации nginx моего сервера:

"/path/to/index.html" is not found (20: Not a directory)

После некоторых проб и ошибок я определил, что фактическая причина заключалась в том, что nginx не мог получить доступ к корню документа сайта, потому что часть пути к корню включала символическую ссылку, но у меня было disable_symlinks; установлено в моем основном файле nginx.conf .

Закомментирование disable_symlinks on; или изменение ее на disable_symlinks off; устраняет проблему.

См. Также:

0
ответ дан 4 May 2020 в 10:08

Теги

Похожие вопросы