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 檔案 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 格式。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
