中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

教你如何在CI框架中使用 .htaccess 隱藏url中index.php

秉承MVC架構(gòu)的思想,CI中的所有控制器都需要經(jīng)過單點(diǎn)入口文件index.php(默認(rèn))來加載調(diào)用。也就是說,在默認(rèn)情況下,所有CI開發(fā)項(xiàng)目的URL都形如以下這種形式:

http://localhost/index.php/blog/logs/this_is_a_test_entry

很顯然,默認(rèn)情況下,index.php在URL地址段中的存在一定程度上影響了URL的簡潔和SEO的進(jìn)行。我們可以通過下面本文介紹的方法來去掉這個(gè)討厭的Index.php

你或許已經(jīng)注意到在CodeIgniter用戶手冊中,已經(jīng)存在關(guān)于此問題的解決方法。但官方提供的這個(gè).htaccess配置,并不是所有時(shí)候都能解決問題。本文現(xiàn)在給出一個(gè)更完善的解決方案。

注意:在繼續(xù)之前,請確認(rèn)你的主機(jī)支持.htaccess配置。其中,如果Apache作為Web服務(wù)器,需要開啟mod_rewrite模塊的支持;如果將IIS作為Web服務(wù)器,則需要額外安裝ISAPI_Rewrite拓展。

具體方法如下:

1. 將以下配置信息復(fù)制并保存為.htaccess文件。
以下為.htaccess文件信息

復(fù)制代碼 代碼如下:
RewriteEngineOn

RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule^(.*)$ /index.php?/$1 [L]     

#如果沒有安裝mod_rewrite模塊,所有的404頁面都將被 #發(fā)送到index.php,此時(shí),程序會(huì)像沒有設(shè)置隱藏時(shí)一樣運(yùn)行  
ErrorDocument404 /index.php

2. 將以上.htaccess文件上傳到CI所在項(xiàng)目的根目錄(即與index.php同級目錄下)

3. 修改application/config.php中的如下參數(shù):

復(fù)制代碼 代碼如下:
$config['index_page'] = "index.php";

復(fù)制代碼 代碼如下:
$config['index_page'] = ""; //設(shè)置為空

以上三步,缺一不可。如果一切配置正常,你會(huì)發(fā)現(xiàn),再次運(yùn)行程序的時(shí)候,程序已經(jīng)自動(dòng)隱藏index.php這個(gè)URL段了!

Trackback(UTF-8):http://www.cnSaturn.com/trackback/40

CodeIgniter中開啟PATH_INFO時(shí)mod_rewrite隱藏index.php的問題。

在CodeIgniter中,當(dāng)我將URI尋址方式從AUTO更改為PATH_INFO時(shí),即:

復(fù)制代碼 代碼如下:
$config['uri_protocol'] = 'PATH_INFO';

注:PATH_INFO的開啟,是因?yàn)槲蚁Mㄟ^$_GET來取值,而不是系統(tǒng)默認(rèn)的POST方式。

在此情況下如何仍然使用以上.htaccess方案,結(jié)果將是:index.php順利隱藏,但主控制器并不能正確的獲取值。

解決方案如下,就一步:

去掉以下重寫規(guī)則中index.php后面的問號即可。

復(fù)制代碼 代碼如下:
 RewriteRule^(.*)$ /index.php?/$1[L]

修改后的規(guī)則如下:

復(fù)制代碼 代碼如下:
 RewriteRule^(.*)$ /index.php/$1 [L]

其他地方不變。

如何刪除index.php文件

估計(jì)很多人學(xué)習(xí)CodeIgniter第一步想做的就是如何去掉index.php,這個(gè)官方手冊就有相關(guān)教程,修改.htaccess 文件(前提是你的服務(wù)器是apache):

復(fù)制代碼 代碼如下:
    RewriteEngine on
    RewriteCond $1 !^(index/.php|images|robots/.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]

當(dāng)然了,有很多人按照要求修改了,但是卻出現(xiàn)了錯(cuò)誤,所有的訪問都404了,而且,這個(gè)404是apache的404頁面,而不是CodeIgniter的404錯(cuò)誤頁面。

出現(xiàn)這種問題,是對apache的rewrite規(guī)則不理解:

    第一行、將RewriteEngine引擎設(shè)置為on,就是讓url重寫生效;
    第二行、配置url重寫規(guī)則,!^(index/.php|images|robots/.txt) 這個(gè)正則表達(dá)式指明了哪些文件不需要重寫,而是直接訪問;
    第三行、^(.*)$是一個(gè)正則表達(dá)式,意思是對所有請求都發(fā)送到/index.php/$1,熟悉url的人都知道,以反斜杠(/)開頭的,都是相對路徑,相對于誰呢?根,也就是網(wǎng)址。

所以呢,如果CodeIgniter如果不是安裝在網(wǎng)站的根目錄,必然會(huì)出現(xiàn)錯(cuò)誤。如何解決呢,在CodeIgniter手冊中也給出了相應(yīng)的解決方案:

把上面最后一句改為:
復(fù)制代碼 代碼如下:
RewriteRule ^(.*)$ index.php/$1 [L]

只需要去掉index.php前面的斜杠就行。

如何添加url后綴

通過上面的步驟,我們已經(jīng)隱藏了index.php了,現(xiàn)在我們制作的網(wǎng)站更加的rest了,一般人已經(jīng)無法一眼就看出你的網(wǎng)站是用CodeIgniter開發(fā)的,還是ROR開發(fā)的。

但是,如何在url后面增加后綴呢,這樣,我們甚至可以隱藏或者偽造網(wǎng)站的開發(fā)語言,通過修改 config/config.php 文件,你可以為 CodeIgniter 生成的 URL 添加一個(gè)指定的文件后綴,比如你可以添加.html,甚至你可以添加.ASP,.jsp。

這樣我們就可以將 http://www.jb51.NET/index.php/news/view/about 變成 http://www.jb51.NET/index.php/news/view/about.html。
如何使用查詢字符串

一般情況下我們不需要使用查詢字符串,但是,總有一些特殊情況,是我們用CodeIgniter的rest模式無法完成的,這樣我們就需要在 URL 中使用查詢字符串:

復(fù)制代碼 代碼如下:
    index.php?c=products&m=view&id=345

CodeIgniter 默認(rèn)此功能是關(guān)閉的,如果想開啟的話,打開配置文件 application/config/config.php 您可以看到如下內(nèi)容:

復(fù)制代碼 代碼如下:
    $config['enable_query_strings'] = FALSE;
    $config['controller_trigger'] = 'c'; //控制器名
    $config['function_trigger'] = 'm'; //方法名
    $config['directory_trigger']='d'; //控制器所在子目錄名稱

如果你將 enable_query_strings 更改為 TRUE ,那么這個(gè)功能就被激活了。此時(shí),你就可以通過關(guān)鍵字來調(diào)用需要的控制器和方法了:

復(fù)制代碼 代碼如下:
    index.php?c=controller&m=method

當(dāng)我們在使用CodeIgniter制作分頁的時(shí)候,這個(gè)就可以派上用場了。

php技術(shù)教你如何在CI框架中使用 .htaccess 隱藏url中index.php,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲天堂中文字幕 | 婷婷丁香综合网 | 精品亚洲一区二区三区 | 欧美电影免费观看高清 | 久久久久久久久久久久久9999 | 91一区二区三区在线观看 | 成人国产精品入口免费视频 | 国产精品免费看 | 草b视频| 91久久久www播放日本观看 | 狠狠操婷婷 | 中文天堂在线一区 | 久久小视频 | 国产精品福利在线观看 | 日本精品一区二区三区在线观看视频 | 成人一区二区视频 | 一本一道久久a久久精品蜜桃 | 久久精品在线免费视频 | 一级黄色片一级黄色片 | 免费在线观看av | 欧美成人精品一区二区三区 | 久久免费大片 | 不卡在线视频 | a欧美 | 韩日免费视频 | 国产精品99久久久久久大便 | 亚洲精品在线国产 | 成人亚洲在线 | 一区二区三区视频在线观看 | 狠狠做深爱婷婷综合一区 | 久久人爽| 欧美成人一区二免费视频软件 | 成人免费一区二区三区视频网站 | 亚洲三级视频 | 亚洲成人免费视频在线观看 | 精品国产欧美一区二区三区不卡 | 99热热热| 成人不卡视频 | 日韩精品视频一区二区三区 | 国产精品国产三级国产aⅴ中文 | 天天操操操操操 |