Задать вопрос
@HitTheNails

Почему отдается 404 на все кроме index.php?

Здравствуйте.
Пытаюсь развернуть сайт на DigitalOcean.
Настроил nginx и php-fpm по мануалам, index.php отдает корректно, но при этом на странице есть форма, отправляющая ajax-ом запрос в скрипт mail.php, который лежит рядом с index.php.
Проблема в том, что вместо выполнения mail.php, отдается nginx'овская 404 file not found.
Вот мой конфиг nginx:
server {
        listen 80;
        listen [::]:80;

        root /var/www/site.com/dist;
        index index.html index.php index.htm index.nginx-debian.html;

        server_name site.com;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

Что с этим можно сделать?
Спасибо.
  • Вопрос задан
  • 1503 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
ivankomolin
@ivankomolin
Посмотрите урл на который отправляется ajax запрос
Ответ написан
BuriK666
@BuriK666 Куратор тега Nginx
Компьютерный псих
смотрите error_log, где nginx пытается найти файл?
Ответ написан
SubGANs
@SubGANs
Потому что у вас правила редиректов скорее всего в htaccess, а он не обрабатывается. Проверяйте локацию /, ошибка скорее всего в строке try_files
Если htacess есть, то посмотрите всякие онлайн конвертеры правил из него в nginx, если его нет, то руками или через гугл для вашей cms или фреймворка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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