@Romo4ka_eto_ia
Просто человек

Как правильно написать try_files в nginx?

Здравствуйте. У меня есть php сайт, который работает на одном файле, все запросы поступают на index.php.
Я создал вот такую конструкцию:
location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTP_PROXY "";
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }
location /api/ {
		try_files $uri /index.php?$query_string;
	}


Проблема в том, что если я в браузере напишу site.com/api/something.php, то у меня будет писаться File not found.

Как можно это исправить?
  • Вопрос задан
  • 302 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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