在LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境中,开启Nginx的pathinfo功能可以按照以下步骤进行:
1、修改PHP配置:
打开PHP的配置文件php.ini
,通常位于/usr/local/php/etc/php.ini
或类似路径。
找到并修改cgi.fix_pathinfo=0
为cgi.fix_pathinfo=1
。
2、修改Nginx配置:
找到当前网站的Nginx配置文件,通常位于/usr/local/nginx/conf/vhost/
目录下,对应你的域名文件。
在location ~ .*\.(php|php5)${}
块中,注释掉try_files $uri =404;
这一行,或者将其删除。
在该位置之前添加一个if语句来处理不存在的文件请求,并将其重写到index.php
。
if (!e $request_filename) { rewrite ^\/(.*)$ /index.php/$1 last; break; }
确保fastcgi_split_path_info
、fastcgi_param SCRIPT_FILENAME
和fastcgi_param PATH_INFO
指令已正确设置,如果未设置,请添加以下内容:
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info;
3、重启Nginx服务:
保存所有更改后,执行以下命令以重启Nginx服务:
/root/lnmp restart
通过以上步骤,您应该能够在LNMP环境中成功开启Nginx的pathinfo功能,如果在操作过程中遇到任何问题,建议检查配置文件中的语法错误,并确保所有必要的模块都已加载。