@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;
        }
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
вы привели не весь конфиг, скорее всего у вас что-то типа такого:
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 проблема не уходит?
Ответ написан
Ваш ответ на вопрос

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

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