欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp的伪静态有关问题

程序员文章站 2022-06-16 23:29:25
...
thinkphp的伪静态问题
高手些,请教一个问题:thinkphp中伪静态,设置后,怎么没有自己改变url地址,比如访问127.0.0.1/Index/index/id/12它没有变成127.0.0.1/Index/index/12.html 说师要开启url重写,我开启后还是没有效果(除了可以不加index.php),是不是要写伪静态规则? 这个伪静态规则咋个写?是不是在.htaccess文件中写?

------解决方案--------------------
这个应该是通过appach 或nginx来配吧,
------解决方案--------------------
一、如果你用pathinfo的话,127.0.0.1/Index/index/id/12应该是访问Index模块的index方法,传入参数id,值为12。

然后如果你使用了$this->display(); // 很久没用有点忘了。。。

它会调用Tpl/Index/index.html模板进行解析输出(你可以往模板里assign变量)

-------------------

二、而你所说的伪静态是在配置文件中设置了'URL_HTML_SUFFIX'=>'html'吗?

那127.0.0.1/Index/index/id/12 和 127.0.0.1/Index/index/12.html 的调用过程跟上面所说的是一样的。只不过后者更具有静态页面的URL特征。

--------------------

我不是很清楚你是否只是想实现第二点所说的那种伪静态,还是想访问“12.html”这个文件。

若是后者,把你“12.html”的文件重命名为index.html放到Tpl/Index/目录下即可。
------解决方案--------------------
可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。
伪静态设置后,如果需要动态生成一致的URL,可以使用U方法在模板文件里面生成URL。

U('Blog/read?id=1')这个定义为例。
当前URL设置为REWRITE模式,并且设置了伪静态后缀为.html的话,同样的方法最后生成的URL地址是:
http://serverName/Blog/read/id/1.html

------解决方案--------------------
URL_HTML_SUFFIX'=>'html'
thinkphp的伪静态有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • thinkphp的伪静态有关问题
  • 专题推荐