搜尋
首頁php教程php手册ThinkPHP的URL重寫+路由+偽靜態,實現SEO效果。

1、URL重寫,隱藏網址中的Index.php。

 

ThinkPHP 作為 PHP 框架,且是單一入口的,那麼其原始的 URL 則不是那麼友善。但 ThinkPHP提供了各種機制來客製化需求的 URL 格式,並配合 Apache .htaccess 文件,更是可自訂出人性化的更有利於 SEO 的URL 位址來。

.htaccess檔案是 Apache 伺服器中的一個設定文件,它負責相關目錄下的網頁設定。我們可以利用 .htaccess 檔案的Rewrite 規則來隱藏掉 ThinkPHP URL 中的 index.php 檔案(即入口檔案),這也是 ThinkPHP URL偽靜態的第一步。

例如原來的 URL 為:

http://www.baidu.com/index.php/Index/insert

去掉 index.php 之後變成:

http://www.baidu.com/Index/insert

如此一來,就變成了 http://網頁位址/應用模組名稱/操作名稱[/變數參數] 的常見 URL 格式。

更改 Apache httpd.conf 設定檔

一、載了 mod_rewrite.so

確認載入了 mod_rewrite.so 模組(將如下配置前的 # 號去掉):

LoadModule rewrite_module modules/mod_rewrite.so

二、變更 AllowOverride 設定

更改需要讀取 .htaccess 檔案的目錄,將原來的目錄註解掉:

#

更改 AllowOverride None 為 AllowOverride FileInfo Options ,

更改後的配置如下圖所示:

#

AllowOverride FileInfoOptions

.htaccess 是基於目錄來控制的, 該句即表示需要讀取 .htaccess 檔案的目錄,要根據實際特定Apache 的解析目錄來設定。虛擬主機如果提供 .htaccess 控制,通常都已經設定好了。

三、新增 .htaccess 檔案 Rewrite 規則

在需要隱藏 index.php 的目錄下建立 .htaccess文件,並寫入下列規則碼:

RewriteEngine on

#不顯示index.php

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

四、更改專案設定檔

編輯專案設定檔 Conf/config.php ,將 URL 模式設定為 2(Rewrite模式):

‘URL_MODEL’=>2,

至此,各配置已經完成。儲存各設定檔後,重新啟動 Apache 伺服器並刪除 Runtime 目錄下的專案快取文件,瀏覽器存取隱藏index.php 後的位址測試是否成功:

http://www.baidu.com/html/myapp/Index/index

如果存取成功,那麼利用 Apache .htaccess 檔案的 Rewrite 規則隱藏 index.php入口檔案的設定就成功了。

 

2.配置路由,縮短網址的長度。

在common下設定檔中加入下面的程式碼

<span style="color: #008000">//</span><span style="color: #008000">开启路由器</span>

 'URL_MODEL' => 2,

 'URL_ROUTER_ON' => <span style="color: #0000ff">true</span>,

 'URL_ROUTE_RULES' =>  <span style="color: #0000ff">array</span><span style="color: #000000">(

  </span>'index' => "Home/Index/index",

  'test'  => "Home/Index/test", <br>  <span style="color: #008000">//</span><span style="color: #008000">URL/test.html<br><br>  '/^C_(\d+)$/' => 'Index/index/user?id=:1'<br>  //短链接:http://localhost/index.php/C_9</span>
<span style="color: #000000">
 )</span>, 

 

3、偽靜態,給網址加上後綴.html

ThinkPHP 支援偽靜態 URL 設置,可以設定所需的 URL 後綴。編輯專案設定檔Conf/config.php ,將 
URL_HTML_SUFFIX 參數設定如下:
'URL_HTML_SUFFIX' => '.html',

刪除 Runtime 目錄下的專案快取檔案使設定生效後,在瀏覽器存取位址效果相同:

http://127.0.0.1/html/myapp/index.php/Index/index
http://127.0.0.1/html/myapp/index.php/Index/index.shtml

在參數配置中,也可以配置其他任何需要的後綴,注意後綴設定中包括. 符號。
設定了偽靜態後,為了保持各處 URL 一致,建議使用 U 方法在模板裡面自動產生 URL,具體請參閱《ThinkPHP U方法自動產生URL》。

提示:
ThinkPHP 偽靜態有一個讓人容易誤解的地方:以為配置好偽靜態之後,系統會自動產生如 xxx.html這類的網址。實際情況不是這樣的,而是如上文所說,配置偽靜態之後,是否有 .html 這類後綴跟無後綴的 URL存取效果是一樣的。因此,如果使用偽靜態,只能手動新增靜態後綴或使用 ThinkPHP U方法 自動產生帶有後綴的 URL 位址。在此,當然推薦使用 U方法 來自動產生具有偽靜態位址的 URL 格式。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具