如何开启服务器 thinkphp pathinfo的访问方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开启服务器 thinkphp pathinfo的访问方式相关的知识,希望对你有一定的参考价值。
参考技术A 楼主服务器是apache还是nginx?算了我直接给你说吧
如果是apache的呢,那么你要开启apache的rewrite,然后重启apache就可以了
如果是nginx的呢,你在.conf文件里面的入口匹配上改成~.php就可以了 参考技术B 这篇文章主要介绍了ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结,是ThinkPHP路由访问的基础知识,在ThinkPHP开发中非常重要,需要的朋友可以参考下
本文针对ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写相关知识进行了总结归纳,分享给大家便于查询和借鉴。具体归纳如下:
1、pathinfo
访问模块IndexAction.class.php下边的test方法
http://localhost/index.php?m=Index&a=test 等同于 http://localhost/index.php/Index/test
2、四种路径访问模式
在config目录下边来做修改 URL_MODEL的值,分别表述如下:
值为0 叫做普通模式。如:http://localhost/index.php?m=模块&a=方法
值为1 叫做pathinfo模式。如:http://localhost/index.php/模块/方法
值为2 叫做rewrite重写(伪静态) 可以自己写相关的rewrite规则,也可以使用系统为我们提供的rewrite规则隐藏掉index.php,生成:http://localhost/模块/方法
值为3 叫做兼容模式。当服务器上面不支持pathinfo模式的时候,但是你又在之前的路径访问格式上面,全部用的是pathinfo格式。那么它会提示你路径格式不正确。那么,你就可以用标号为3的兼容模式来处理。他的路径访问类似于http://localhost/index.php?s=模块/方法
3、URL重写步骤:
(1)、D:\wamp\wamp\Apache2\conf\httpd.conf开启apache服务器中的URL_REWRITE模块
(2)、AllowOverride None 将 None 改为 All
(3)、确保config.php配置文件中 URL_MODEL 设置为 2
(4)、把 .htaccess 文件放到入口文件的同级目录下
采用URL重写利于seo,不过会加大服务器的性能消耗。
希望本文所述对大家ThinkPHP程序设计有所帮助。本回答被提问者和网友采纳
PATHINFO模式是thinkphp特有的吗?
pathinfo
当然不是某个框架特有的,pathinfo
严格上讲是HTTP服务器提供的一个预定义变量,在许多的框架中有一个重要的组件叫做路由器,这个组件可以通过使用pathinfo
来实现。
考虑以下代码:
# filename:./testpathinfo.php <?php echo $_SERVER[\'PATH_INFO\'];
当我直接请求该文件时(留意地址栏):
若文件未得到pathinfo
参数时未定义该值,这时如果我这样请求(留意地址栏):
所以,该功能配合rewrite
功能可实现去除地址中的请求文件。
另外,PHP提供名为pathinfo()
的函数,用于提取路径的信息:
参考:
PHP manual: pathinfo()
PHP manual: $_SERVER
转:https://segmentfault.com/q/1010000003979741
以上是关于如何开启服务器 thinkphp pathinfo的访问方式的主要内容,如果未能解决你的问题,请参考以下文章