Конфигурация nginx без косой черты

Я пытаюсь настроить свой nginx. Я хочу, чтобы он обслуживал php-файл: dir/index.php, но сделай так, как я могу получить к нему доступ localhost/dir запрос (без косой черты) без вызова nginx 301 redirect, Я попробовал все решения, найденные здесь, однако не удалось. Не могли бы вы объяснить, как я могу достичь этой цели? Это мой конфиг:

server {
access_log /var/log/nginx/access_log combined;
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/mock-api-server.git;
index index.php;

location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
include         fastcgi_params;
fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}
}

1

Решение

Ты можешь использовать try_files добавить /index.php до конца URI. Это должен быть последний параметр try_files оператор как новый URI обрабатывается в другом месте. Увидеть этот документ для деталей.

Например:

location / {
try_files $uri $uri/index.php?$args;
}
location ~* \.php$ {
try_files $uri =404;
...
}

Второй try_files заявление, чтобы избежать передача неконтролируемых запросов в PHP. Если новый URI не соответствует реальному файлу PHP, возвращается ответ 404.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]