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

Почему работает только index.php?

Запустил на вагранте nginx+php7.4-fpm, вроде все хорошо, роутинг сделал, все работает, но как только нужно было один php файл открыть, сразу проблемы, вместо выполнения php, nginx просто выкидывает мне его на страницу, хотя index.php работает идеально и php выполняется.
Конфиг секции php у хоста:
location ~ \.php$ {
                #include snippets/fastcgi-php.conf;
                # With php7.0-fpm:
                fastcgi_read_timeout 300;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
  • Вопрос задан
  • 211 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
вы привели не весь конфиг, скорее всего у вас что-то типа такого:
location / {
      try_files $uri /index.php?$args;
}

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

Если нужны некоторые пути, то можете как-то так сделать:
location / {
      try_files $uri @rewrite;
}

location @rewrite {
      rewrite ^/first/?$  first.php;
      rewrite ^/second/?$ second.php;

      rewrite ^ /index.php;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fzfx
@fzfx
18,5 дм
что говорит nginx -T?
после systemctl reload nginx проблема не уходит?
Ответ написан
Ваш ответ на вопрос

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

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