私は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
... 1つの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