【Thinkphp教程】 如何实现URL伪静态

ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。例如,我们设置

  1. 'URL_HTML_SUFFIX'=>'shtml'


的话,我们可以把下面的URL

  1. http://serverName/Blog/read/id/1


变成

  1. http://serverName/Blog/read/id/1.shtml


后者更具有静态页面的URL特征,但是具有和前面的URL相同的执行效果,并且不会影响原来参数的使用。
注意:伪静态后缀设置时可以不包含后缀中的“.”。所以,下面的配置其实是等效的:

  1. 'URL_HTML_SUFFIX'=>'.shtml'


伪静态设置后,如果需要动态生成一致的URL,可以使用U方法在模板文件里面生成URL。
关于U方法的使用请参考后面的URL生成部分。
关于多伪静态后缀的支持
如果你希望网站能够支持多个伪静态后缀设置,例如,希望

  1. http://serverName/Blog/read/id/1.shtml

  2. http://serverName/Blog/read/id/1.html

  3. http://serverName/Blog/read/id/1.xml


同时有效,可以用下面的方式进行配置:

  1. 'URL_HTML_SUFFIX'=>'(shtml|html|xml)'


配置多个伪静态后缀并不会导致自动判断后缀执行不同的方法,如果你有此类需求的话需要使用REST支持,可以参考第18张 REST支持部分。
posted @ 2013-05-17 14:22  飞鱼flyfish  阅读(312)  评论(0编辑  收藏  举报