Допустим, у меня есть эти URL на моем сайте
http://www.example.com/locations
http://www.example.com/locations/sydney
http://www.example.com/locations/brisbane
http://www.example.com/locations/perth
http://www.example.com/services/
http://www.example.com/services/cars
http://www.example.com/services/truck
http://www.example.com/services/phone
http://www.example.com/blog
http://www.example.com/blog/display/blog-title
http://www.example.com/blog/display/blog-title2
http://www.example.com/blog/display/blog-title3
http://www.example.com/blog/display/blog-title4
я хочу, чтобы URL были такими
http://www.example.com/locations
http://www.example.com/sydney
http://www.example.com/brisbane
http://www.example.com/perth
http://www.example.com/services/
http://www.example.com/cars
http://www.example.com/truck
http://www.example.com/phone
http://www.example.com/blog
http://www.example.com/blog-title
http://www.example.com/blog-title2
http://www.example.com/blog-title3
http://www.example.com/blog-title4
как этого добиться в codeigniter ??
Я пробовал ниже код:
$route[''] = 'blog/index';
$route['(:num)'] = 'blog/index/$1';
$route['(:any)'] = 'blog/display/$1';
$route['home/(:any)'] = 'blog/display/$1';
но проблема в том, что работа только для блогов не может использовать один и тот же код для других, и это делает другие ссылки неработоспособными
поэтому я попытался ответить @ACD, это дало 2 ошибки
1. Неопределенное свойство: CI_Router :: $ load
2. Вызов библиотеки функций-членов () со значением NULL
поэтому я сделал такую модификацию, как это
$req = $this->uri->segment(1);
require_once ( BASEPATH. 'database/DB.php');
$db =& DB();
if ($db->get_where('home_inner_tbl', array('page_url' => $req))) {
$route['(:any)'] = 'home/display/$1';
} elseif ($db->get_where('blog_tbl', array('page_url' => $req))) {
$route['(:any)'] = 'blog/blog_display/$1';
} elseif ($db->get_where('towing_services_tbl', array('page_url' => $req))) {
$route['(:any)'] = 'towing-services/display/$1';
} elseif ($db->get_where('special_services_tbl', array('page_url' => $req))) {
$route['(:any)'] = 'cash-for-cars/display/$1';
} elseif ($db->get_where('locations_tbl', array('page_url' => $req))) {
$route['(:any)'] = 'locations/display/$1';
}
С этим кодом он не выдал ошибку, а только первую строку оператора if, который работает, который является $ route ['(: any)'] = 'home / display / $ 1'; другие ссылки, такие как locatins, услуги буксировки, блог, cash-for-cars не работают.
Что-то не так с оператором if? потому что, похоже, этот ответ должен быть правильным.
Кстати, мой контроллер выглядит так
class Home extends CI_Controller
{
public function index() {
// some code in here
}
public function display($page_url) {
// some code in here
}
}
Тот же самый контроллер выглядит для других (местоположения, блог, towing_services и т. Д.)
как вы видите, я звоню $ page_url из базы данных.
Кто-нибудь может мне помочь с этим ?? Спасибо