Codeigniter 3 Удалить проблемы index.php

У меня есть небольшой проект, который я разработал для клиента в codeigniter 2.1.4, и теперь он настаивает на переходе на версию codeigniter 3 DEV. Я знаю, что это не хорошая идея, но … Моя проблема в том, что я не могу удалить index.php из URL.

Это мой файл .htaccess:

Options +FollowSymLinks RewriteEngine on # Send request via index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] 

Я удалил index.php из файла config.php
Не повезло
Я переустановил сервер LAMP (я на Ubuntu 12.04), переконфигурировал
У меня есть другие проекты на моем локальном сервере, разработанные на Codeigniter 2.1.4 и Laravel 4, и они отлично работают, но это убивает меня.
Спасибо!

Я сделал так:

Создал .htaccess в корневой папке проекта с содержимым:

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|css|js|images|robots\.txt) RewriteRule ^(.*)$ index.php?$1 [L] 

Затем в config.php i была изменена эта строка.

Из:

 $config['url_suffix'] = 'index.php'; 

Для того, чтобы:

 $config['url_suffix'] = ''; 

Пожалуйста, добавьте нижеприведенные коды в файл .htaccess и включите его прямо в /codeigniter_project_folder/.htacess

     RewriteEngine on
     RewriteCond% {REQUEST_FILENAME}! -f
     RewriteCond% {REQUEST_FILENAME}! -d
     RewriteRule. * Index.php / $ 0 [PT, L]

Если на вашем сервере Apache включен mod_rewrite, вы можете легко удалить этот файл, используя файл .htaccess с некоторыми простыми правилами.

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

Удалить ? после index.php

Добавьте следующие строки в файл .htaccess

 RewriteCond %{REQUEST_URI} ^/system.* RewriteRule ^(.*)$ index.php?/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?/$1 [L] 

А также отредактируйте файл application / config / config.php . с

 $config['index_page'] = “”; $config['uri_protocol'] = “AUTO“; 

Это будет работать.

  1. Создайте файл .htacess в корневой папке проекта /Your_codeigniter_project_folder/.htacess и вставьте этот код

    RewriteEngine On

    RewriteCond% {REQUEST_FILENAME}! -f

    RewriteCond% {REQUEST_FILENAME}! -d

    RewriteRule ^ (. *) $ Index.php / $ 1 [L]

  2. установить базовый URL-адрес в файле config.php $config['base_url'] = 'http://yourhost/CI_project_folder/';

  3. установить суффикс URL $config['url_suffix'] = '.php';

* Если не работает, пожалуйста, проверьте это *

  1. Убедитесь, что в корневой папке, где находится .htacess , нет файла, имя которого совпадает с именем вашего контроллера. Пример: у вас есть контроллер users.php и у вас есть файл в /Your_codeigniter_project_folder/users.php Если удалите его /Your_codeigniter_project_folder/users.php

  2. Убедитесь, что на вашем сервере включен режим перезаписи (удалите # из начала этой строки)

    Модули LoadModule rewrite_module / mod_rewrite.so

создайте новый .htaccess файл в корне вашего проекта CI и добавьте туда свой код. Не изменяйте файл .htaccess в папке приложения. Это для меня работа

Просто загрузите CI версию 2.2.0

Скопируйте .htaccess и htaccess.txt из корневого каталога и вставьте его в проект Codeigniter 3.

Не забудьте изменить название проекта из файла .htaccess .

  1. Создайте новый файл htaccess в вашей www / project_folder или в htdocs / project_folder

  2. Убедитесь, что mod_rewrite работает, используя echo phpinfo()

  3. Просто вставьте следующий код, и он должен работать:

     <IfModule mod_rewrite.c> RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /project_folder/index.php/$1 [L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 /index.php </IfModule> 
  4. Измените папку проекта на другую

Я снова клонировал репозиторий git и сделал чистую установку лампы, и теперь она работает.