2014-10-24 3 views
0

У меня есть веб-сайт и приборная панель. Я хочу, чтобы мой сайт, чтобы иметь следующие Uri схеме:Codeignitor - Маршрутизация URI

https://example.com 
https://example.com/features 
https://example.com/pricing 

...

Так выше поведение по умолчанию.

Для Dashboard, я хочу, чтобы все страницы, чтобы иметь «приложение» в URL, как:

https://example.com/app/dashboard or https://example.com/app/  (for dashboard) 
https://example.com/app/settings 
https://example.com/app/account 
https://example.com/app/products 
... 

Теперь, один из способов достижения этой цели на приборной панели перенаправлять все возможные адреса приборной панели, как

$route['app'] = "dashboard"; 
$route['app/dashboard'] = "dashboard"; 
$route['app/products'] = "products"; 
$route['app/services/api/custom/(:any)'] = "api/custom/$1"; 
... 

есть ли лучшее решение, так как я не хочу, чтобы это сделать так много возможных адресов

Я также хочу, чтобы предотвратить доступ к приборной панели URL'ы, без т он "приложение" в URL, так

https://example.com/dashboard 

должны быть обработаны как недействительный URL. Для достижения этой цели я следующие проверки в конструкторе

if(stripos($_SERVER["REQUEST_URI"],'/app') !== 0)  // "!==" is must in this case 
{ 
    show_404(); 
} 
+0

URI Rewrite .... – raidenace

+1

smogло помочь '$ route ['app/(: any)'] =" $ 1 ";' – Dexa

+0

вы должны создать контроллер под названием 'app' и создать функцию для каждого имени страницы в этом контроллере, который должен быть маршрутизирован автоматически. –

ответ

0

Вы могли бы сделать это следующим образом:

$route['app'] = 'dashboard'; 

// Add anything specific here before the last line, i.e. 
// $route['app/specific'] = 'other/controller'; 
// $route['app/specific/etc'] = 'other/controller/etc'; 

$route['app/(.*)'] = 'dashboard/$1'; 

Все, что не определено в маршруте будет еще маршрут через контроллер dashboard.

+0

Контроллер панели мониторинга обрабатывает только страницу панели управления приборной панели. Как ваше решение действительно помогает? –

Смежные вопросы