Я загрузил приложение для работы с кодом на публичный 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