2013-07-19 18 views
1

我有一個文章控制器,並在其中一個視圖函數來顯示一個單獨的文章,所以我的網址都是這樣如何有網址的喜歡domain.com/ <文章名稱> CI中

http://domain.com/articles/view/<article-id>/<article-title>

我的代碼:

class Articles extends CI_Controller { 
    function view($id=NULL,$slug=""){ 
     //Code to fetch article details from DB by id 
    } 
} 

如何做到這一點使我的URL看起來像http://domain.com/<article-title>

謝謝。

回答

3

定義路由配置中的所有控制器尋址到他們自己的方法。在路線配置的末尾添加下面的規則 -

$route['(:any)'] = 'articles/view/$1'; 

所有其他要求比以前定義的航線將現在artcile/view控制器的方法來提供服務。

下一部分是創建一個映射表,將文章標題映射到文章ID。你可以得到文章標題與

$this->uri->segment(1); 

view函數。

每當文章用標題更新時,就更新映射表。

+0

@ varun1505你可以使用文章標題作爲唯一的ID,並把它作爲第一段中的URI –

1

我爲我的博客做了類似的事情。 @Varun根據Sachin的評論,這是下劃線路由路徑domain.com/articles/view/實際上,你會看到url爲domain.com/如預期。

而且我已經延長級網址這樣

$route['spring/(:any)'] = "controller_name/method_name/$1"; 
$route['hibernate/(:any)'] = "controller_name/method_name/$1"; 

所以實際的URL看起來像這樣

domainname.com/spring/spring-jdbc-example which is mapped to "controller_name/method_name/$1" 
相關問題