Banochkin
@Banochkin

Как отрабатывать 404 ошибку у урлов без расширения на конце?

Недавно полностью перешёл с apache на nginx. Всё бы хорошо, но возникла проблема с самописными скриптами на php.

Привязан домен, сам сайт состоит из одного index.php, пары картинок и css. Сделал ещё страницу 404.php для соответствующей ошибки. Прописал в конфиге nginx следующее:

error_page 404 /404.php;

Открываю site.ru/blablabla.php — всё отрабатывается как нужно, в браузере ровно то, что прописано в файле 404.php.

Но вот стоит открыть site.ru/blablabla — открывается то, что у меня в index.php.

Весь день гуглил в поисках решения — ничего. Читал официальный мануал — тоже ничего. Как решить эту проблему? Уверен, что это простой вопрос и я не вижу какую-то банальную вещь, но уже устал искать решение проблемы.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Wexter
Но вот стоит открыть site.ru/blablabla — открывается то, что у меня в index.php.

конфиг выкладывайте
Ответ написан
@dodo512
server {

    ...
    
    error_page 404 /404.php;
    
    index index.php;
    
    location / {
    
    }
    
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass ... ;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы