У меня есть следующая проблема с CodeIgniter. Я пытаюсь настроить меню и использовать конфигурацию маршрута для загрузки соответствующего контента, но по какой-то причине он не работает.
У меня есть настройка CodeIgniter:
http://localhost/new/CodeIgniter/
Мой конфигурационный файл выглядит так:
$config['base_url'] = 'http://localhost/new/CodeIgniter/'; $config['index_page'] = '';
Конфигурация моего маршрута выглядит так:
$route['default_controller'] = 'Home/home'; $route['404_override'] = ''; $route['home'] = 'Home/home'; $route['compare'] = 'Home/home'; $route['signin'] = 'Home/home'; $route['translate_uri_dashes'] = FALSE;
И это мой домашний контроллер:
class Home extends CI_Controller { public function __construct() { parent::__construct(); } public function index() { $this->home(); } public function home() { $this->load->model('home_model'); $this->load->view('header_view', $data); $this->load->view('nav_view', $data); $this->load->view('home_view', $data); $this->load->view('footer_view', $data); } public function compare() { $this->load->model('home_model'); $this->load->view('header_view', $data); $this->load->view('nav_view', $data); $this->load->view('home_view', $data); $this->load->view('footer_view', $data); } public function signin() { $this->load->model('home_model'); $this->load->view('header_view', $data); $this->load->view('nav_view', $data); $this->load->view('home_view', $data); $this->load->view('footer_view', $data); } public function about() { $this->load->model('home_model'); $this->load->view('header_view', $data); $this->load->view('nav_view', $data); $this->load->view('home_view', $data); $this->load->view('footer_view', $data); } }
Когда я обращаюсь к http: // localhost / new / CodeIgniter /, я вижу домашнюю страницу, но ни одно из следующего не работает:
http://localhost/new/CodeIgniter/home http://localhost/new/CodeIgniter/compare http://localhost/new/CodeIgniter/signin http://localhost/new/CodeIgniter/about
вhttp://localhost/new/CodeIgniter/home http://localhost/new/CodeIgniter/compare http://localhost/new/CodeIgniter/signin http://localhost/new/CodeIgniter/about
Кто-нибудь знает, что я здесь делаю неправильно?
Ошибка следующая:
Not Found The requested URL /new/CodeIgniter/home was not found on this server.
Это мой httaccess
<IfModule authz_core_module> Require all denied </IfModule> <IfModule !authz_core_module> Deny from all </IfModule> <IfModule ModRewite> RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule>
Я думаю, что файл .htaccess отсутствует. Создайте новый файл с этим контентом и сохраните его в корневом каталоге CI.
RewriteEngine on RewriteBase /new/CodeIgniter RewriteCond $1 !^(index\.php|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Удостоверьтесь, что mod_rewrite включен (проверьте через phpinfo, который включен или нет).
Для включения проверки mod_rewrite
И добавьте это .htacess
где добавить
RewriteEngine on RewriteCond $1 !^(index.php|resources|robots.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
в корневой папке