删除 URL 上的 php 扩展

删除 URL 上的 php 扩展

我尝试了很多方法来删除我的 php 扩展但都无法做到,以下是我试图实现的方法。

https://google.com/users/login.php>https://google.com/users/login

听起来很简单,但我似乎无法删除它,要么收到 500 内部错误,要么收到 404 错误

        location  /users/ {
#               try_files $uri $uri/ =404;
                rewrite ^/users/(.*) /users/(.*).php$1 break;
        }

        location ~ \.php$ {
#               try_files $uri =404;
                include snippets/fastcgi-php.conf;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

答案1

静态解决方案是:

location /users/login {
    try_files $uri $uri.php =404;
}

如果你希望它更加动态,你必须将它放入你的 / 位置,这样它就会始终尝试从文件系统传递请求,如果文件系统上 url 的资源不存在,它会尝试解决以 .php 为后缀的 url:

location / {
    try_files $uri $uri.php =404;
}

相关内容