使用 thinkphp 開發的應用的 url 中通常都會帶個 index.php ,如果我們
需要僞靜態或者做 SEO 優化的時候,這個是非常不好看也沒有意義的。那麼我們
該如何去除 thinkphp 應用 url 中的 index.php 呢?
對於這個問題我們可以通過URL重寫的方式解決,當然這個是需要服務器開啓
URL_REWRITE 模塊纔可以的。所以進行下面的步驟前請確定你的服務器是否已
經開啓了或者是否能開啓 URL_REWRITE 。
(1)如果沒有開啓 URL_REWRITE,則你需要找到 Apache 中的
httpd.conf 這個配置文件,找到下面這行:
#LoadModule rewrite_module modules/mod_rewrite.so
把前面的警號去掉,然後繼續找到下面這句:
AllowOverride None
將所有找到的以上語句都改爲:AllowOverride All
以上修改完畢然後重啓 Apache 服務器即可。
(2)在應用的根目錄下面新建一個 .htaccess 文件。在文件裏面加入如下代碼:
查看代碼
打印
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
其實以上就已經實現了去除 url 中的 index.php 字符直接訪問應用了。但是
僅僅以上兩步操作還會出現的一個問題就是 thinkphp 的常量 __URL__ 中還
是會自動帶上 index.php 這段字符串,徹底解決這個問題的辦法是在項目的配
置文件里加上如一條如下配置:
查看代碼
打印
'URL_MODEL'=>'2'
至此 thinkphp 應用 url 中的 index.php 就徹底無影無蹤了。
注意:在 windows 下不能直接建立 .htaccess 這種文件,你可以先隨便建立
一個文件(如:www.phpernote.com.txt),然後在DOS裏面輸入如下命令:
rename www.phpernote.com.txt .htaccess
thinkphp 如何去除url中的index.php
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.