Удалить index.php в codeigniter

77
8

Я знаю, что это самый повторяющийся вопрос о CI.


Я использую Kubuntu и сделал следующие изменения


$config['base_url']='http://localhost/cii/';
$config['index_page'] = '';
$config['uri_protocol']= 'REQUEST_URI';

Я сохранил файл .htaccess, в котором хранится index.php(в корневой папке), но я получаю следующую ошибку:


The requested URL /cii/welcome/second was not found on this server.(404 error)


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

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

спросил(а) 2021-01-25T23:00:34+03:00 4 месяца, 4 недели назад
1
Решение
77

Возможно, проблема связана с AllowOverride. Отсутствует корневой путь документа в доступных файлах apache. Вам нужно изменить строку, содержащую AllowOverride None, чтобы прочитать AllowOverride All в файле (/etc/apache2/sites-available/default), чтобы файлы .htaccess работали должным образом. Перезапустите apache после внесения изменений.


    <Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

Включение использования файлов htaccess Apache.

ответил(а) 2021-01-25T23:00:34+03:00 4 месяца, 4 недели назад
45

Я бы предположил, что ошибка связана с тем, что ваш CI находится в подпапке /cii, но правила перезаписи указывают на корневую папку.
Попробуйте добавить RewriteBase/cii/внутри первого блока.

ответил(а) 2021-01-25T23:00:34+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема