nginx怎么开启pathinfo

apache往nginx去转,代码端用到了$_server['
path_info'
],对于nginx默认是不开启pathinfo的。所以我们就要手动开启

1,url重写

location / { //方法1
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php/ last;

break;

}
}
location / { //方法2
try_files $uri $uri/ /index.php$uri;

}

2,pathinfo设置

location ~ .*\.(php|php5)(.*)?$ //注意这块,配置重写的url

如何在Nginx中开启Pathinfo


{
fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_param path_info $fastcgi_path_info;

fastcgi_param path_translated $document_root$fastcgi_path_info;

include fastcgi.conf;

}

这块要注意,location后正则要根据重写的url来决定。



Nginx是一款高性能的Web服务器软件,但在默认情况下,Pathinfo并没有被启用,这给一些网站的开发者带来了不小的麻烦。如果你也遇到了这个问题,本文将为你详细介绍如何在Nginx中开启Pathinfo功能,让你的网站开发更加轻松便捷。
1. Pathinfo是什么?
Pathinfo是一种URL的形式,指的是在URL结尾处添加额外参数的方式,它在动态网站的URL构造中扮演了重要角色。例如,以下URL通过Pathinfo方式把参数传递给服务器:
http://www.example.com/index.php/abc/123
其中,index.php是程序路径,/abc/123则是传给程序的参数。如果没有启用Pathinfo,上述URL将被Nginx解析成404错误页面。
2. Nginx如何开启Pathinfo?
Nginx开启Pathinfo的过程其实很简单,只需要在Nginx的配置文件中添加以下几行即可:
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
其中,index.php就是程序路径,$is_args和$args则是传给程序的参数。这个配置方案可以应对大部分的网站需求,如果需要更多自定义功能,可以参考Nginx官方文档进行配置。
3. 如何测试Pathinfo是否开启成功?
配置完成后,我们需要进行测试以确保Pathinfo已经成功启用。通过访问下面的URL来测试:
http://www.example.com/index.php/abc/123
如果你能看到程序输出的结果,那么恭喜你Pathinfo已经成功启用了。如果出现404错误页面,那么就需要检查Nginx的配置文件是否正确。
结语
通过本文的介绍,相信读者已经了解了Nginx如何开启Pathinfo功能,希望这篇文章能够帮助到你。无论你是开发者还是系统管理员,熟练掌握Nginx的使用都是必备的技能之一,希望大家在实践中不断完善自己的知识体系,提高自己的工作效率。