如果没有扩展名,Nginx 将引用 php 文件

如果没有扩展名,Nginx 将引用 php 文件

我只是想这样做:

如果用户前往该地址https://example.com/abcd

如果文件夹“abcd”存在,则根据索引文件规则提供服务。如果不存在,则提供 abcd.php 文件。如果两者都不存在,则给出 404 错误。

这可能吗?如果可以,怎么做?

编辑:使用try_files $uri.php $uri/ =404;文件下载中的结果。

答案1

使用这个有效:

location / {
    try_files $uri @ext;
}
location ~ \/\.php {
    rewrite "^(.*)\/.php" $1.php last;
}
location ~ \.php$ {
   include /etc/nginx/fastcgi.conf;
   fastcgi_pass unix://run/php/php7.0-fpm.sock;
}
location @ext {
   rewrite "^(.*)$" $1.php;
}

来源

相关内容