Ich hatte einige Probleme mit CodeIgniter-Routing: ich eine Website für die einige Produkte bauen, und müssen eine URL folgen die Regel bauen:Codeigniter 3.0: Wie kann ich diese Routen definieren?
http://localhost/testsite/category-name/product-name/id.html
oder http://localhost/testsite/pro-id/category-name/sub-category-name1/.../product-name.html
, mit „Kategorie-name“, "sub -category-name1 "," sub-category-name2 "...," product-name "und" id "wurden dynamisch aus der Datenbank geladen.
Wie kann ich den Routenwert für diesen konfigurieren? Ich habe mit einigen Fällen versucht, aber es funktioniert nicht:
$route['pro-(:num)/(:any).html'] = 'product/detail?pid=$1';
$route['(:any)/(:num)'] = 'product/detail?pid=$1';
Vielen Dank für jede hilft!
Dank @Bira für Ihre Unterstützung, aber das Problem dort :) immer noch ist
Hier ist der Inhalt meiner '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';
Und der Inhalt der .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
Und ... nur eine URL funktioniert "http://localhost/testsite/home.html" (die erste Regel). Andere Regeln zurückkehren Fehler: 404 Seite nicht gefunden (Ex: „http://localhost/testsite/pro-3/category-name/product-name.html“)
Hier ist mein Test-Controller-Klasse:
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);
}
}
Vielen Dank so viel für alle Träger, ich bin nur ein Neuling auf CI :)
Vielen Dank, @Sparky, meine Frage deutlicher für die Herstellung :) – huynhtuanh