簡體   English   中英

如何在codeigniter中更改查詢字符串以分段url?

[英]how change query string to segment url in codeigniter?

大家好

這是我的第一個問題,希望你們都明白我的問題,幫助我..

所以這是我在基於體育社區CODEIGNITER )的應用程序上工作的問題所以當登錄用戶點擊團隊名稱或體育頁面重定向到特定團隊頁面時,網址如下所示

HTTP://本地主機/項目/家庭CAT_ID = MJY = cat_type = Mg的==

其中cat_id和cat_type在base64encode()

我想讓它seo友好..我已經嘗試過這個鏈接

如何將查詢字符串轉換為段URI? 但沒有任何事情可以讓任何人幫助我

當前網址是localhost/project/home?cat_id=MjY=&cat_type=Mg==

想要的網址localhost/project/home/team-category

提前致謝.....

基本上你在尋找什么是基於slug的URL( 語義URL


那么如何實現slug?

將舉例說明:
網址 - http://www.example.com/products/apple-iphone-5S-16GB-brand-new/

1)假設您有產品頁面和產品頁面需要URL中的一些數據來了解要顯示的產品。
2)在我們使用我們從URL獲取的id查詢數據庫之前。 但現在我們會做同樣的事情(查詢我們的數據庫)只是用slug替換id就是這樣!
3)因此在數據庫中添加名為slug的附加列。 下面是您更新的產品數據庫結構(僅作為示例)。

 Columns Values id (int(11), PK) 1 title (varchar(1000)) Apple iPhone 5S 16GB slug (varchar(1000)) apple-iphone-5S-16GB-brand-new price (varchar(15)) 48000 thumbnail (varchar(255)) apple-iphone-5S-16GB-brand-new.jpg description (text) blah blah ... ... 

為此,您必須在下面進行更改 -

1)創建2個表格以下

 slug_table: id (PK) | slug | category_id (FK) category_table: id (PK) | title | thumbnail | description 


2)config / routes.php

 $route['/products/(:any)'] = "category/index/$1"; 


3)models / category_model.php

 class Category_model extends CI_Model { public function __construct() { parent::__construct(); $this->db = $this->load->database('default',true); } public function get_slug($slug) { $query = $this->db->get_where('slug_table', array('slug' => $slug)); if($query->num_rows() > 0) return $query->row(); return false; } public function get_category($id) { $query = $this->db->get_where('category_table', array('id' => $id)); if($query->num_rows() > 0) return $query->row(); return false; } } 


4)controllers / category.php

 class Category extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('category_model'); } public function index($slug) { $sl = $this->category_model->get_slug($slug); if($sl) { $data['category'] = $this->category_model->get_category($sl->category_id); $this->load->view('category_detail', $data); } else { // 404 Page Not Found } } } 


5)views / category_detail.php

 <label>Category title: <?php echo $category->title; ?></label><br> </label>Category description: <?php echo $category->description; ?></label> 


我之前也回答了slu。 檢查它是否有幫助。
如何從url codeigniter中刪除params

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM