我遇到了一些麻煩與CodeIgniter的路由: 我想建立一個網站,顯示出一些產品,需要建立一個URL遵循以下規則:Codeigniter 3.0:我如何定義這些路線?
http://localhost/testsite/category-name/product-name/id.html
或http://localhost/testsite/pro-id/category-name/sub-category-name1/.../product-name.html
, 與「類別名稱」,「子-category-name1「,」sub-category-name2「...,」product-name「和」id「是從數據庫動態加載的。
如何配置此路線值? 我已經試過了一些案件,但它不工作:
$route['pro-(:num)/(:any).html'] = 'product/detail?pid=$1';
$route['(:any)/(:num)'] = 'product/detail?pid=$1';
非常感謝任何幫助!
感謝@Bira您的支持,但問題仍然存在:)
這裏是我的 'routes.php文件'
$route['default_controller'] = 'product';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['home.html'] = 'product/index';
$route['pro-(:num)/(.+).html'] = 'product/detail?pid=$1';
$route['(:any)/(:any)/(:num).html'] = 'product/detail?pid=$3';
的內容和的.htaccess的內容
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^home.html index.php/product/index
RewriteRule ^pro-([0-9]+)/(.*).html index.php/product/detail?pid=$1
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z]+)/([0-9]+).html index.php/product/detail?pid=$3
而且......只有一個URL正在工作「http://localhost/testsite/home.html」(第一條規則)。其他規則將返回錯誤:404找不到網頁(例如:「http://localhost/testsite/pro-3/category-name/product-name.html」)
這裏是我的測試控制器類:
class Product extends CI_Controller {
public function index()
{
$this->load->view('products');
}
public function detail()
{
$pid = $_GET['pid'];
$data['pid'] = $pid;
$this->load->view('product_detail', $data);
}
}
感謝你這麼多的任何支持,我只是一個新手CI :)
謝謝你,@Sparky,讓我的問題更清楚:) – huynhtuanh