偽靜態(tài)

URL偽靜態(tài)通常是為了滿足更好的SEO效果,ThinkPHP支持偽靜態(tài)URL設(shè)置,可以通過(guò)設(shè)置url_html_suffix參數(shù)隨意在URL的最后增加你想要的靜態(tài)后綴,而不會(huì)影響當(dāng)前操作的正常執(zhí)行。例如,我們?cè)O(shè)置

'url_html_suffix' => 'shtml'

的話,我們可以把下面的URL http://serverName/Home/Blog/read/id/1 變成 http://serverName/Home/Blog/read/id/1.shtml

后者更具有靜態(tài)頁(yè)面的URL特征,但是具有和前面的URL相同的執(zhí)行效果,并且不會(huì)影響原來(lái)參數(shù)的使用。

默認(rèn)情況下,偽靜態(tài)的設(shè)置為html,如果我們?cè)O(shè)置偽靜態(tài)后綴為空字符串,

'url_html_suffix'=>''

則支持所有的靜態(tài)后綴訪問(wèn),如果要獲取當(dāng)前的偽靜態(tài)后綴,可以使用Request對(duì)象的ext方法。

例如:

http://serverName/index/blog/3.html
http://serverName/index/blog/3.shtml
http://serverName/index/blog/3.xml
http://serverName/index/blog/3.pdf

都可以正常訪問(wèn)。

我們可以在控制器的操作方法中獲取當(dāng)前訪問(wèn)的偽靜態(tài)后綴,例如:

$ext = Request::instance()->ext();

如果希望支持多個(gè)偽靜態(tài)后綴,可以直接設(shè)置如下:

// 多個(gè)偽靜態(tài)后綴設(shè)置 用|分割
'url_html_suffix' => 'html|shtml|xml' 

那么,當(dāng)訪問(wèn) http://serverName/Home/blog/3.pdf 的時(shí)候會(huì)報(bào)系統(tǒng)錯(cuò)誤。

如果要關(guān)閉偽靜態(tài)訪問(wèn),可以設(shè)置

// 關(guān)閉偽靜態(tài)后綴訪問(wèn)
'url_html_suffix' => false,

關(guān)閉偽靜態(tài)訪問(wèn)后,不再支持偽靜態(tài)方式的URL訪問(wèn),并且偽靜態(tài)后綴將會(huì)被解析為最后一個(gè)參數(shù)的值,例如:

http://serverName/index/blog/read/id/3.html

最終的id參數(shù)的值將會(huì)變成 3.html。

文檔最后更新時(shí)間:2018-04-26 09:19:06

文檔
目錄

深色
模式

切換
寬度