偽靜態(tài)

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

'url_html_suffix' => 'shtml'

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

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

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

'url_html_suffix'=>''

則支持所有的靜態(tài)后綴訪問,如果要獲取當前的偽靜態(tài)后綴,可以使用Request對象的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

都可以正常訪問。

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

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

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

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

那么,當訪問 http://serverName/Home/blog/3.pdf 的時候會報系統(tǒng)錯誤。

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

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

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

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

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

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

文檔
目錄

深色
模式

切換
寬度