Удалить index.php Из URL – Codeigniter 2

У меня возникают проблемы с удалением index.php из моих URL-адресов в Codeigniter. Я сделал несколько сайтов с Codeigniter 1.7, а код .htaccess, который я использовал, не работает в 2.

Я попытался использовать

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

а также

 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt|css) RewriteRule ^(.*)$ ./index.php/$1 [L] </IfModule> 

Я также пробовал это без RewriteBase / in.

Я изменил $ config ['uri_protocol'] на REQUEST_URI и QUERY_STRING и ничего.

Я установил $ config ['index_page'] = "";

Структура файла – 192.168.0.130/(site)/, поэтому он должен возвращаться к корню сервера и не может найти файл index.php.

Все контроллеры, которые я создал, можно получить, поставив 192.168.0.130/(site)/index.php/testcontroller

Спасибо.

Извиняюсь, если это было задано раньше – я посмотрел и попробовал то, что мог видеть.

Редактировать:

Я также должен добавить, что я изменил папки по умолчанию,

заявление

ДИ-2,0

index.php

и изменили пути в index.php, чтобы быть правильными.

Попробуйте опубликовать первый блок кода, но вместо /index.php попробуйте использовать /(site)/index.php (obv replace (site) с именем вашей папки сайта).

Это сработало для меня:

  1. Создайте свой файл htaccess
  2. Задайте $ config ['index_page'] пустой (config.php)
  3. string Установить $ config ['uri_protocol'] = 'REQUEST_URI'; (Config.php)

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

 Options -Indexes Options +FollowSymLinks 

 RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ index.php?/$1 [L] #When your application folder isn't in the system folder RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] 

 # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php 

Источник:

http://taggedzi.com/articles/display/codeigniter-2-htaccess-and-friendly-urls

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

Это необходимо только в корневой папке, добавьте это в .htaccess

После выполнения всех инструкций от других людей и из этого документа URL-адреса CodeIgnitor , не забудьте перезапустить сервер . Я просто забыл сделать это и продолжал пробовать все другие решения.

Я был на этом в течение 2 дней .. Пробовал все возможное. Я только что сказал, что вам нужно следующее:

ТИП:

 sudo nano /etc/apache2/sites-available/default 

И измените AllowOverride None на AllowOverride All – Это даст доступ к вашим файлам .htaccess

 <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all # Uncomment this directive is you want to see apache2's # default start page (in /apache2-default) when you go to / #RedirectMatch ^/$ /apache2-default/ </Directory> 

А также включить mod rewrite на Apache:

 http://stackoverflow.com/questions/3131236/how-do-you-enable-mod-rewrite 

Надеюсь, это поможет, Марио

Вам просто нужно добавить код ниже в .htacess.

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

1) Создайте файл .htaccess в корневой папке

  RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

2) Отредактируйте файл приложения / config / config.php в папке приложения

 $config['base_url'] = 'http://localhost/projectName'; $config['index_page'] = ''; // remove index.php 

я надеюсь, что это сработает для вас