CodeIgniter中實現泛網域名稱解析

2022-10-05 02:12:09 字數 1113 閱讀 9649

最近遇到乙個專案要求使用二級網域名稱,以方便seo,由於採用的是codeigniter框架,這個框架雖然提供了www.cppcns.com靈活的路由功能,但是不能實現二級網域名稱。查詢了多很資料之後,經過幾番測試得出了解決方法。本例採用www.mysite.com這個假網域名稱。

步驟1:

首先在httpd.conf中建立virtualhost

serveradmin [email protected]

documentroot "d:/www/cms"

servername www.mysite.com

serveralias *.mysite.com #這裡採用泛解析的方式

errorlog "logs/mysite.com-error.log"

customlog "logs/mysite.com.log" common

步驟2:

我要實現這樣的效果:

*****> 

為了確保能正常訪問這個domain,必須修改hosts檔案

127.0.0.1 www.mysite.com

127.0.0.1 category.mysite.com

步驟3:

修改:system/core/uri.php的_set_uri_string方法

/*** set the uri string

* * @access public

* @param string

* @return string

*/function _set_uri_string($str)

}這裡主要是為了讓url能正確的被ci理解。

步驟4:在application/config/下建立乙個domain.php檔案。內容如下:

<?php if ( ! defined('basepath'))

exit('no direct script access allowed');

$domain = array('category',"detail","in","archive");

至此已經基本完成了,不過,使用site_url()的時候,如果要使用二級網域名稱,就得另做處理了。

本文標題: codeigniter中實現泛網域名稱解析

本文位址:

CodeIgniter中Router類的兩個方法

file location system core router.php 第乙個 fetch the current method access public return string function fetch method return this method 第二個 fetch the c...

利用CodeIgniter中的Email類發郵件

codeigniter擁有功能強大的email類。以下為利用其傳送郵件的 關於ci的email類的詳情請參考 class welcome extends ci controller 在載入email類之後需要配置email引數。配置完成之後使用 this email initialize confi...

利用CodeIgniter中的Email類發郵件

codeigniter擁有功能強大的email類。以下為利用其傳送郵件的 關於ci的email類的詳情請參考 class welcome extends ci controller 在載入email類之後需要配置email引數。配置完成之後使用 this email initialize confi...