您好,欢迎访问一九零五行业门户网

thinkphp的伪静态有关问题

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'
其它类似信息

推荐信息