要在不使用文件扩展名的情况下调用由Nginx提供的PHP页面,可以使用Nginx的rewrite规则来实现。以下是一个示例解决方法:
打开Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf)。
在server块中添加以下rewrite规则:
location / {
try_files $uri $uri/ @php;
}
location @php {
rewrite ^/(.*)$ /$1.php last;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据你的PHP版本和配置进行修改
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
保存并退出配置文件。
重新加载Nginx配置使更改生效,可以使用以下命令:
sudo service nginx reload
现在,当访问没有文件扩展名的PHP页面时,Nginx将使用rewrite规则将请求重写为PHP文件,并将其传递给PHP解释器进行处理。