Задать вопрос
@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;
        }
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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 проблема не уходит?
Ответ написан
Ваш ответ на вопрос

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

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