thinkphp作為php框架,是單一入口的,那么其原始的url便不是那么友好,但thinkphp提供了各種機(jī)制來(lái)定制需要的url格式,本文就來(lái)為大家介紹一下thinkphp中設(shè)置url格式的方法。
ThinkPHP 作為 PHP 框架,是單一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP 提供了各種機(jī)制來(lái)定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址來(lái)。
.htaccess文件是 Apache 服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。我們可以利用 .htaccess 文件的 Rewrite 規(guī)則來(lái)隱藏掉 ThinkPHP URL 中的 index.php 文件(即入口文件),這也是 ThinkPHP URL 偽靜態(tài)的第一步。
例如原來(lái)的 URL 為:
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
http://127.0.0.1/index.php/Index/insert
去掉 index.php 之后變?yōu)椋?/p>
http://127.0.0.1/Index/insert
如此一來(lái),就變成了 http://服務(wù)器地址/應(yīng)用模塊名稱/操作名稱[/變量參數(shù)] 的常見(jiàn) URL 格式。
更改 Apache httpd.conf 配置文件
提示:如果在虛擬主機(jī)商配置,請(qǐng)直接配置第三、四步,因?yàn)橹С?.htaccess 的空間已經(jīng)配置好了前面兩步。
用編輯器打開(kāi) Apache 配置文件 httpd.conf(該文件位于 Apache 安裝目錄Apache2conf),并按如下步驟修改。
一、加載了 mod_rewrite.so
確認(rèn)加載了 mod_rewrite.so 模塊(將如下配置前的 # 號(hào)去掉):
LoadModule rewrite_module modules/mod_rewrite.so
二、更改 AllowOverride 配置
更改需要讀取 .htaccess 文件的目錄,將原來(lái)的目錄注釋掉:
#<Directory "C:/Program Files/Apache Group/Apache2/htdocs"> <Directory E:/html/myapp>
更改 AllowOverride None 為 AllowOverride FileInfo Options ,更改后的配置如下所示:
#<Directory "C:/Program Files/Apache Group/Apache2/htdocs"> <Directory E:/html/myapp> AllowOverride FileInfo Options
.htaccess 是基于目錄來(lái)控制的,
三、添加 .htaccess 文件 Rewrite 規(guī)則
在需要隱藏 index.php 的目錄下(本教程中為 E:/html/myapp,也即入口文件所在目錄)創(chuàng)建 .htaccess 文件,并寫入如下規(guī)則代碼:
<IfModule mod_rewrite.c> RewriteEngine on #不顯示index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
四、更改項(xiàng)目配置文件
編輯項(xiàng)目配置文件 Conf/config.php ,將 URL 模式配置為 2(Rewrite模式):
'URL_MODEL'=>2,
至此,各個(gè)配置已經(jīng)完成。保存各配置文件后,重啟 Apache 服務(wù)器并刪除 Runtime 目錄下的項(xiàng)目緩存文件,在瀏覽器訪問(wèn)隱藏 index.php 后的地址測(cè)試是否成功:
http://127.0.0.1/html/myapp/Index/index
如果訪問(wèn)成功,那么利用 Apache .htaccess 文件的 Rewrite 規(guī)則隱藏 index.php 入口文件的配置就成功了。
推薦教程:thinkphp教程
以上就是thinkphp中設(shè)置偽靜態(tài)的方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)