# 快速入門(十六):偽靜態(tài)
URL偽靜態(tài)通常是為了滿足更好的SEO效果,ThinkPHP支持偽靜態(tài)URL設(shè)置,可以通過設(shè)置`URL_HTML_SUFFIX`參數(shù)隨意在URL的最后增加你想要的靜態(tài)后綴,而不會影響當(dāng)前操作的正常執(zhí)行。
### 單個URL后綴
默認(rèn)情況下,偽靜態(tài)的設(shè)置為`html`,因此下面的URL訪問是等效的:?
~~~
http://serverName/Home/Blog/index
http://serverName/Home/Blog/index.html
~~~
但后者更具有靜態(tài)頁面的URL特征,并且不會影響原來參數(shù)的使用。
但如果我們訪問
~~~
http://serverName/Home/Blog/index.xml
~~~
則會提示出錯。

除非我們設(shè)置了:
~~~
'URL_HTML_SUFFIX'=>'xml'
~~~
### 全后綴支持
如果我們設(shè)置偽靜態(tài)后綴為空,則可以支持所有的靜態(tài)后綴訪問,并且會記錄當(dāng)前的偽靜態(tài)后綴到常量?`__EXT__`?,但不會影響正常的頁面訪問。
~~~
'URL_HTML_SUFFIX'=>''
~~~
設(shè)置后,下面的URL訪問都有效:
~~~
http://serverName/Home/blog/index.html
http://serverName/Home/blog/index.shtml
http://serverName/Home/blog/index.xml
http://serverName/Home/blog/index.pdf
~~~
可以通過常量?`__EXT__`?判斷當(dāng)前訪問的后綴,例如:
~~~
if('pdf'==__EXT__){
// 輸出PDF文檔
}elseif('xml'==__EXT__){
// 輸出XML格式文檔
}
~~~
### 多個后綴支持
如果希望僅支持設(shè)置的多個偽靜態(tài)后綴訪問,可以設(shè)置如下:
~~~
// 多個偽靜態(tài)后綴設(shè)置 用|分割
'URL_HTML_SUFFIX' => 'html|shtml|xml'
~~~
那么,當(dāng)訪問?`http://serverName/Home/blog/index.pdf`?的時候會報系統(tǒng)錯誤。
### 禁止訪問后綴
可以設(shè)置禁止訪問的URL后綴,例如:
~~~
'URL_DENY_SUFFIX' => 'pdf|ico|png|gif|jpg', // URL禁止訪問的后綴設(shè)置
~~~
如果訪問?`http://serverName/Home/blog/index.pdf`?就會直接返回404錯誤。
> **注意:**
> `URL_DENY_SUFFIX`的優(yōu)先級比`URL_HTML_SUFFIX`要高。
- 快速入門 1:基礎(chǔ)
- 快速入門 2:CURD
- 快速入門 3:查詢語言
- 快速入門 4:連貫操作
- 快速入門 5:變量
- 快速入門 6:路由
- 快速入門 7:視圖
- 快速入門 8:變量輸出
- 快速入門 9:循環(huán)和控制輸出
- 快速入門 10:公共模板和模板布局
- 快速入門 11:Action參數(shù)綁定
- 快速入門 12:空操作和空控制器
- 快速入門 13:初始化、前置和后置操作
- 快速入門 14:頁面跳轉(zhuǎn)和重定向
- 快速入門 15:頁面請求和AJAX
- 快速入門 16:偽靜態(tài)
- 快速入門 17:操作綁定到類
- 快速入門 18:多層控制器
- 快速入門 19:自動驗證
- 快速入門 20:自動完成
