什么是Pathinfo
Pathinfo是URL的一部分,通常采用这种方式的网站都是基于MVC设计模式的网站,它的URL格式通常为:http://www.example.com/index.php/模块名/控制器名/方法名/参数1/参数2/.../参数n。其中,/index.php/是网站的入口文件,后面的/模块名/控制器名/方法名/参数1/参数2/.../参数n是通过PATHINFO的方式访问到控制器的,这样既可以对URL进行美化,也更容易让搜索引擎抓取到网站的信息。
php.ini配置
要开启Pathinfo模式,需要将php.ini文件中的cgi.fix_pathinfo参数设置为1,开启该选项后,PHP将会在不确定PHP文件路径时自动寻找一个最佳的路径并去执行。在很多主机上都默认开启了,我们只需要检查php.ini文件中是否config中是否设置了cgi.fix_pathinfo为1即可。
Nginx配置
如果要在Nginx中开启Pathinfo模式,需要在Nginx的配置文件中增加一段location规则:
location / {
try_files $uri $uri/ /index.php?$args;
}
这个规则代表,当访问的URL不存在时,会转到index.php页面,并带上所有的参数,也就是访问路径。这些参数可以在PHP文件中通过$_SERVER['PATH_INFO']
和$_SERVER['QUERY_STRING']
获取到。
需要注意的是,在开启Nginx的rewrite模式后,需要使用rewrite规则将URL重写到前述location规则中,以保证Pathinfo模式正常。
总结
开启Pathinfo模式,可以使网站的URL更加美观,也更容易让搜索引擎抓取网站的信息。需要在php.ini文件中将cgi.fix_pathinfo参数设置为1,并在Nginx中添加相应的location规则,以保证网站能够正常使用Pathinfo模式。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/php-iw67d.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!