У меня есть папка проекта воспламенителя кода. Все нормально работает. Но когда я поместил папку проекта в другую папку в качестве подпапки, я получил страницу 404, не найденную для URL-адресов контроллера, которые я вызвал.
Например, URL-адрес CI - http: // локальный / библиотека. Затем я помещаю его в другую папку, например: http: // localhost / школа / библиотека
Как мне решить эту проблему? Я знаю, что это проблема с каталогом. Спасибо.
Файл .htaccess:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Структура папки
school/
students/
teachers/
library/
application/
system/
assets/
index.php
.htaccess
Папка библиотеки использует фрейм воспламенителя кода, но школьная папка, которая является основной папкой, не использует фреймворк.
RewriteEngine на RewriteCond $ 1! ^ (Index \ .php | resources | robots \ .txt) RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule ^ (. *) $ Index.php / $ 1 [L, QSA]
Есть ли в папке школа файл .htaccess? Кроме того, вы меняли конфигурацию index_page?
В папке школы нет .htaccess. Я не понимаю вторую часть вопроса.
Я имею в виду, что вам нужно установить index_page на пустое значение в приложение / config / config.php. Это действительно странно, поскольку вам не нужно менять index_page, чтобы он работал. Есть ли что-нибудь еще в вашем файле .htaccess, кроме содержимого, которое я дал вам в ответе? включен ли mod_rewrite на вашем сервере? Можете ли вы сказать мне путь, к которому вы пытаетесь получить доступ, который дает вам ошибку 404?
Внутри .htaccess нет ничего, кроме того, что вы упомянули. Я пытаюсь получить доступ к localhost / school / library / home / login. Но когда я получаю к нему доступ, как этот localhost / library / home / login. Работает нормально.
Позвольте нам продолжить обсуждение в чате.






создайте файл с именем .htaccess и поместите этот код в
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Внутри школьной папки или папки библиотеки? Потому что у меня уже есть файл .htaccess в папке библиотеки, которая является папкой CI. В папке School не используется структура CI.
в первый раз проверьте, есть ли он у вас в основной папке вашего проекта
В основной папке не используется структура CI и, следовательно, нет файла .htaccess, но в библиотеке подпапок есть папка .htaccess.
не могли бы вы рассказать мне точную структуру вашего проекта?
Проблема в том, что вы указываете на index.php, который находится в вашей корневой папке, замените его, используя ./index.php.
Создайте файл .htaccess в папке проекта со следующим содержимым:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L]
Вы видите, что часть ./ означает Добавьте путь к месту, где существует .htaccess
Можете ли вы обновить свой вопрос структурой папок?
Только что сделал. Пожалуйста, проверьте.
Разместите свой файл .htaccess в вопросе