Используя nginx, я хотел бы перенаправить на /redirect.php с помощью try_files, если требуемый файл .php не найден, это правильный способ сделать это :
location ~ \.php$ {
...
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $uri /redirect.php =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Однако, похоже, это не работает.
location \ .php $
означает, что каждый запрос, заканчивающийся расширением .php
, будет обрабатываться этим блоком.
Ваши try_files
] находится не в том месте. Вам нужно либо поместить его в существующий блок location /
, либо в блок сервера
.