2012-06-01 97 views
0

我正在開發一個網站,其中許多頁面的內容將從數據庫中提取。整個網站在codeigniter中完成。與codeigniter發生衝突

我不想有像www.mywebsite.com/pages/1之類的網址。 相反,我想在輸入頁面內容時由管理員詢問URL名稱(FURL)。假設管理員輸入FURL爲:study-programs/animation 那麼路徑應顯示爲www.mywebsity.com/study-programs/animation

有什麼建議嗎?

+0

你的意思是用戶輸入一個分類類別的分類?我不知道爲什麼用戶會輸入'study-programs/animation/cgi/smurfs'這樣的文本作爲路徑,您應該讓他們選擇類別/子類別併爲THEM創建路徑。 – Jakub

回答

0

1)的foreach頁面商店頁面名稱(可以使用uri_title()

2)在路由(的application/config /路線)添加的東西等;

$route['page/(:any)'] = "pages/page_lookup"; 

3)在頁面控制器;

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Pages extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
    } 

    public function page_lookup($page) { 
     // do your database query getting page id where page name = $page 
     $result = $this->page_model->get_page_by_name($page); 

     // $result could hold the page html 
     // if so, then just do 
     $this->load->view($result); 
    } 
} 

欲瞭解更多詳情請查看Codeigniter手冊中的examples

+1

這種方法仍然會將網址設置爲網頁/ page_lookup,並且在點擊時將被重定向到新的網址。有沒有一種方法可以直接使用頁面名稱生成url? – bmrinal

+0

不,它沒有,我剛剛嘗試過,它工作正常。 – Rooneyl