php如何生成伪静态url,thinkphp控制器(三) 伪静态及URL生成

URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。例如,我们设置'URL_HTML_SUFFIX'=>'shtml'

的话,我们可以把下面的URL http://serverName/Home/Blog/read/id/1 变成 http://serverName/Home/Blog/read/id/1.shtml

后者更具有静态页面的URL特征,但是具有和前面的URL相同的执行效果,并且不会影响原来参数的使用。

默认情况下,伪静态的设置为html,如果我们设置伪静态后缀为空,'URL_HTML_SUFFIX'=>''

则可以支持所有的静态后缀,并且会记录当前的伪静态后缀到常量 __EXT__ ,但不会影响正常的页面访问。

例如:http://serverName/Home/blog/3.html

http://serverName/Home/blog/3.shtml

http://serverName/Home/blog/3.xml

http://serverName/Home/blog/3.pdf

都可以正常访问,如果要获取当前的伪静态后缀,通过常量 __EXT__ 获取即可。

如果希望支持多个伪静态后缀,可以直接设置如下:

// 多个伪静态后缀设置 用|分割'URL_HTML_SUFFIX' => 'html|shtml|xml'

那么,当访问 http://serverName/Home/blog/3.pdf 的时候会报系统错误。

可以设置禁止访问的URL后缀,例如:'URL_DENY_SUFFIX' => 'pdf|ico|png|gif|jpg', // URL禁止访问的后缀设置

如果访问 http://serverName/Home/blog/3.pdf 就会直接返回404错误。

注意:

URL_DENY_SUFFIX的优先级比URL_HTML_SUFFIX要高。

URL生成//定义规则

//U('地址表达式',['参数'],['伪静态后缀'])

echo U('/index/index',array('id'=>15, 'name' => 'test'),'html');

echo U('/index/index@test.com',array('id'=>15, 'name' => 'test'),'html');

//通过配置URL_MODEL改变生成的URL模式

//'URL_MODEL' => 1, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:

// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值