Thinkphp 控制器 偽靜態

2021-08-21 17:07:03 字數 1276 閱讀 2656

url偽靜態通常是為了滿足更好的seo效果,thinkphp支援偽靜態url設定,可以通過設定url_html_suffix引數隨意在url的最後增加你想要的靜態字尾,而不會影響當前操作的正常執行。例如,我們設定

'url_html_suffix'=>'shtml'
的話,我們可以把下面的urlhttp://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.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要高。

ThinkPHP控制器分級

注 請不要修改thinkphp慣例配置檔案,如果要覆蓋慣例配置的值,可在應用配置檔案中設定和慣例不符的配置項 慣例配置檔案路徑 thinkphp conf convention.php 在應用配置檔案config.php中修改一下內容即可實現控制器分級 例 在 home controller下建立資...

ThinkPHP 控制器(三)

id get id name post name value session var name cookie name file server php self ps 沒有統一的安全處理機制,後期調整會比較麻煩 i 變數型別.變數名 預設值 過濾方法 獲取 get id echo i get.id ...

ThinkPHP 控制器(四)

thinkphp 提供了一組常量來判斷當前請求是否是 get post 等。通過判斷請求處理不同的業務邏輯。常量 含義 is get 判斷是否 get 提交請求 is post 判斷是否 post 提交請求 is put 判斷是否 put 提交請求 is delte 判斷是否 delete 提交請求...