Домашняя страница Codeigniter работает нормально, но показывается 404 для других страниц

Я загрузил приложение для работы с кодом на публичный ip для тестирования. Домашняя страница работает нормально, но другие страницы не работают.

но я могу получить доступ к внутренним файлам, как показано ниже: http: //ip-address/index.php/about-us/who-we-are

Мои файлы:

**config.php** $config['base_url'] = ''; $config['index_page'] = ''; $config['uri_protocol'] = 'AUTO'; **routes.php** $route['about-us/(:any)'] = "page/aboutUs/$1"; $route['contact-us/(:any)'] = "page/contactus/$1"; $route['plan-articles'] = "page/planArticles"; $route['(:any)'] = "page/$1"; $route['default_controller'] = "page"; $route['404_override'] = ''; **.htacess** <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond $1 !^(index\.php|assets|fav\.ico|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?$1 [L] </IfModule> 

Проблема возникает, поскольку ваш конкретный проект. Файл htaccess не вызывается с сервера Apache.

Вы должны проверить apache httpd.conf, "AllowOverride All" ли параметр "AllowOverride All" или нет.

Я сделал несколько проектов с CI. Никогда не было такой ошибки.

используйте этот .htacess

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

Дополнительные знания:

если вы беспокоитесь о своем URL-адресе и как он выглядит, вы можете использовать разные контроллеры для каждой страницы.

если на странице продукта используется контроллер продукта, если на странице «О нас» вы можете использовать aboutUs. то ваш URL-адрес выглядит как www.example.com/product/ или www.example.com/aboutUs/ .

Таким образом, каждый контроллер может использовать функции и может многое сделать. $route – лучший метод. Но это самый простой способ.

Создайте каждую страницу как контроллер / представление. Затем вы можете перенаправить на контроллер, который загружает представление.

пример макета:

 application/controllers/main.php application/controllers/page1.php application/views/main.php application/views/page1.php 

Это может помочь: Как получить базовый путь проекта в CodeIgniter