国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 教你如何在CI框架中使用 .htaccess 隱藏url中index.php

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

2020-07-02 14:41PHP實例教程 PHP教程

CodeIgniter(以下簡稱"CI")是一款國外優(yōu)秀的PHP輕量級MVC框架,它支持PHP4和PHP5,是開發(fā)中小型可拓展性需求高的Web應(yīng)用程序的利器。很多博客程序,開源的cms程序,都是采用CI進行的編寫。

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

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

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

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

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

具體方法如下:

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

復制代碼 代碼如下:


RewriteEngineOn

 

RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d 

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

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

 

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

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

 

復制代碼 代碼如下:

$config['index_page'] = "index.php";

 

 

復制代碼 代碼如下:

$config['index_page'] = ""; //設(shè)置為空

 

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

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

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

在CodeIgniter中,當我將URI尋址方式從AUTO更改為PATH_INFO時,即:

 

復制代碼 代碼如下:

$config['uri_protocol'] = 'PATH_INFO';

 

注:PATH_INFO的開啟,是因為我希望通過$_GET來取值,而不是系統(tǒng)默認的POST方式。

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

解決方案如下,就一步:

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

 

復制代碼 代碼如下:

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

 

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

 

復制代碼 代碼如下:

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

 

其他地方不變。

如何刪除index.php文件

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

 

復制代碼 代碼如下:

    RewriteEngine on
    RewriteCond $1 !^(index\.php|images|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]

 

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

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

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

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

把上面最后一句改為:

復制代碼 代碼如下:

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 添加一個指定的文件后綴,比如你可以添加.html,甚至你可以添加.asp,.jsp。

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

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

 

復制代碼 代碼如下:

    index.php?c=products&m=view&id=345

 

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

 

復制代碼 代碼如下:

    $config['enable_query_strings'] = FALSE;
    $config['controller_trigger'] = 'c'; //控制器名
    $config['function_trigger'] = 'm'; //方法名
    $config['directory_trigger']='d'; //控制器所在子目錄名稱

 

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

 

復制代碼 代碼如下:

    index.php?c=controller&m=method

 

當我們在使用CodeIgniter制作分頁的時候,這個就可以派上用場了。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 午夜视频 | 亚洲免费一区 | 成人午夜精品一区二区三区 | 亚洲 欧美 日韩 在线 | 欧美久久久| 久久精品国产视频 | 婷婷五月情| 美女国产精品 | 欧美国产一区二区三区 | 国产成人久久精品一区二区三区 | 国产99精品 | 国产精品毛片一区二区 | 欧美综合一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 国产午夜精品久久久久久久 | 国产精品九九九 | 国产精品久久久久久久岛一牛影视 | 在线中文字幕视频 | 亚洲特黄av | 国产精品爱久久久久久久 | 欧美在线 | 亚洲 | 高清免费av | 久久精国产 | 午夜av成人| 国产欧美精品区一区二区三区 | 激情综合丁香 | 中文字幕在线观看一区二区三区 | 成人在线免费 | 91尤物网站网红尤物福利 | 日韩美女av在线 | 精品一区二区电影 | av大片在线观看 | 欧美日韩六区 | 亚洲人视频在线 | 国内自拍视频在线观看 | 黄色一级片看看 | 天堂中文视频在线观看 | 亚洲天天干 | 亚洲精品国产乱码在线看蜜月 | 91在线看 | 欧美日韩在线免费观看 |