Codeignitor- как загрузить новую страницу после удаления index.php

Я новичок в CodeIgnitor. У меня есть некоторые ссылки в моем индексном файле. Я удалил index.php из url, так что теперь url выглядит как

HTTP: // локальный / приложение / Грузчик / demo_page

Это, если мой код Loader:

class Loader extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->helper('url'); } public function index() { $this->load->view('header'); $this->load->view('center'); $this->load->view('footer'); } public function demo_page() { $this->load->view('demo'); } } 

Когда я нажимаю на эту ссылку, я не получаю ошибку.

Теперь что мне делать?

Я хочу удалить имя контроллера также из url и хочу показать довольно url только как domain / app / mydemopage.php. Пожалуйста помоги.

Для этого вам нужен модуль URL Rewrite. Как получить эту работу зависит от используемого вами веб-сервера.

Для Apache отредактируйте httpd.conf и раскомментируйте (удалите ведущую # ) следующую строку, затем перезапустите веб-сервер.

LoadModule rewrite_module modules/mod_rewrite.so

Добавьте / отредактируйте файл .htaccess в корневой папке CodeIgniter и вставьте это.

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

Если вы не указали ошибку RewriteEngine здесь, убедитесь, что корневая папка веб-сайта CodeIgniter позволяет переопределить FileInfo в конфигурации вашего веб-сервера httpd.conf .

AllowOverride FileInfo

Добавьте ниже строки в файл .htaccess.

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

Вы можете изменить файл маршрута, используя приведенный ниже пример. В строке я передаю имя контроллера и функции (метода). И в $ route array я передаю красивое имя, как мне нравится.

 #Route file path : CI_project/applications/config/routes.php $route['default_controller'] = "Dashboard"; $route['contact-us'] = "dashboard/contact_us"; 

Но имейте в виду, что если вы хотите выполнить надработку над кодом, вам нужно включить модуль перезаписи и передать этот код в .htaccess.

.htaccess код файла:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /prjectName/ RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: Pawan Nagar <IfModule !mod_rewrite.c> ErrorDocument 404 /index.php </IfModule>