Codeigniter - Маршрутизация к подпапкам не работает - PullRequest
0 голосов
/ 06 марта 2019

Здравствуйте, у меня возникла проблема. Я новичок в изучении codeigniter, но моя главная проблема в том, что я не могу найти URL, который мне нужен, например:

Мне нужно набрать http://localhost/ciHrs/admin/pages, тогда как я хочу толькополучить URL http://localhost/ciHrs/admin/ пожалуйста, объясните, как я могу получить доступ к этому URL.и, наконец, Default Controller Я хочу получить доступ к http://localhost/ciHrs/admin/ напрямую.спасибо

У меня есть имя подпапки admin в контроллере и имя подпапки admin в представлении и подпапке admin в модели

вот мои маршруты

 <?php
defined('BASEPATH') OR exit('No direct script access allowed');

$route['admin/rooms'] = "admin/rooms/index";
$route['default_controller'] = 'admin/pages/view/dashboard';
$route['admin/(:any)'] = "admin/pages/view/$1";
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

мой контроллер для доступа к этой странице

<?php 

class Pages extends CI_Controller{
    public function view(){
        $data['title'] = 'Dashboard';

        $this->load->view('admin/templates/header');
        $this->load->view('admin/pages/dashboard',$data);
        $this->load->view('admin/templates/footer');
    }
}

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Попробуйте следующие правила на ваших маршрутах:

defined('BASEPATH') OR exit('No direct script access allowed');

$route['default_controller'] = 'admin/pages/view/dashboard';
$route['admin'] = "admin/pages";
$route['admin/'] = "admin/pages";
$route['admin/rooms'] = "admin/rooms/index";
$route['admin/(:any)'] = "admin/pages/view/$1";
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
0 голосов
/ 06 марта 2019

Я думаю, что вы не полагаетесь на CI uri маршрутизацию

ОБЪЯСНЕНИЕ

На ваших маршрутах:

$route['admin/rooms'] = "admin/rooms/index";

Таким образом, здесь вы можете позвонить в домен, и соответствующий admin/rooms зависит от вашего $route определения.Это выглядит так: http://example.com/admin/rooms вместо http://example.com/admin/rooms/index

Кажется, что default_controller загружается, когда был установлен сеанс cookie.Вы можете позвонить только самому домену, и он автоматически загрузит установленный вами default_controller.

Следовательно, на свой вопрос вы сказали, что хотите получить только http://localhost/ciHrs/admin/, почему бы не определить в $route просто так:

$route['ciHrs/admin/'] = "ciHrs/admin/pages";

или учитывая, если pages uri является динамическим, установите ваш маршрут на:

$route['ciHrs/admin/(:any)'] = "ciHrs/admin/$1";

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...