Назад | Перейти на главную страницу

NGINX Удалить index.php при перезаписи URL

Мне пришлось изменить конфигурацию NGINX, чтобы разрешить получение статических файлов из другой папки.

server {
    listen 80;
    server_name app.test;
    root "/home/vagrant/app/public";

    index index.html index.htm index.php;

    charset utf-8;

    location ~ (.*.css|.*.js|.*.png|.*.jpg|.*.gif|.*.svg) {
        alias /home/vagrant/app$request_uri;
    }

     location / {
        try_files $uri $uri/ /index.php?$args;
     }

    sendfile off;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }
}

Часть, которую я добавил, была location .*.css и т.д., где он в основном соответствует этим расширениям файлов, и если он их находит, он обслуживает их непосредственно из определенной папки, отличной от основной папки проекта.

В противном случае я хочу, чтобы он отправлял запросы PHP в основное приложение проекта, следовательно, расположение /.

Он работает нормально, но проблема в том, что он показывает URL как http://app.test/index.php/ всякий раз, когда я пытаюсь перейти к http://app.test/, он не делал этого до того, как я добавил псевдоним, поэтому мне интересно, может ли псевдоним быть причиной этого и как я могу избавиться от добавленного index.php. Заранее спасибо :)