偽靜態(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
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題