隱藏CodeIgniter程序URL中index.php的方法

隱藏CodeIgniter程序URL中index.php的方法

秉承MVC架構的思想,CodeIgniter中的所有控制器都需要經過單點入口文件index.php(默認)來加載調用。也就是說,在默認情況下,所有CodeIgniter開發項目的URL都形如以下這種形式:
http://localhost/index.php/blog/logs/this_is_a_test_entry
很顯然,默認情況下,index.php在URL地址段中的存在一定程度上影響了URL的簡潔和SEO的進行。我們可以通過下面本文介紹的方法來去掉這個討厭的Index.php。

注意:在繼續之前,請確認你的主機支持.htaccess配置。其中,如果Apache作爲Web服務器,需要開啓mod_rewrite模塊的支持;如果將IIS作爲Web服務器,則需要額外安裝ISAPI_Rewrite拓展。

1. 編寫.htaccess文件,並上傳到網站根目錄(即與index.php同級目錄下)
RewriteEngine On
RewriteBase /  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ /index.php?/$1 [L]      
# 如果沒有安裝mod_rewrite模塊,所有的404頁面都將被 # 發送到index.php,此時,程序會像沒有設置隱藏時一樣運行  
ErrorDocument 404 /index.php

2. 修改application/config.php中的如下參數:

$config['index_page'] = "index.php";
修改成
$config['index_page'] = ""; //設置爲空
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章