nginx 不识别TP5的路由

本文档介绍了如何解决在没有域名的情况下,仅使用IP访问ThinkPHP5(TP5)应用时,Nginx无法正确识别路由的问题。关键步骤包括修改php.ini中的cgi.fix_pathinfo设置为1并重启php-fpm,以及调整Nginx的vhost.conf配置,确保fastcgi_pass指向正确的PHP-FPM socket或端口。通过这些配置,可以使得Nginx顺利处理TP5的URL路由。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:服务器没买域名,就只想IP访问TP5,但配置好了环境,访问TP5 URL ,ngnx不识别TP5路由

1. 因为 php.ini 文件里 cgi.fix_pathinfo=0  =0会造成访问.../public/index.php时 页面出现“Access denied.” 后面将值改为1 既 cgi.fix_pathinfo=1 (另要重启php-fpm才生效)

2.nginx 目录下的 vhost.conf 重新配置
server{
      listen 8099;
        #listen [::]:80 default_server ipv6only=on;
        server_name _;
        index index.html index.htm index.php;
        root  /home/wwwroot/tp/public;
        
     location ~ \.php(.*)$ {
            fastcgi_pass   unix:/tmp/php-cgi.sock;(有的是127.0.0.1:9000  具体要看php-fpm.conf指向哪里,服务器指向的是/tmp/php-cgi.sock 注意这里前面要加unix: 是127.路径则不用加 )
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
	   	
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值