Как удалить "index.php" торчащий на каждом пути в кодеринговом центре где-то в центре?  Мне нужны чистые index.php-fied URLs отличные от index.php-fied URLs ? 
Если вы используете Apache, поместите файл .htaccess в корневой веб-каталог, содержащий следующее:
 RewriteEngine on RewriteCond $1 !^(index\.php|[Javascript / CSS / Image root Folder name(s)]|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 
Другая хорошая версия находится здесь:
У меня возникли некоторые проблемы с удалением index.php. Как правило, ниже .htaccess был протестирован на нескольких серверах и, как правило, работает:
 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] <Files "index.php"> AcceptPathInfo On </Files> 
Если вам не повезло с этим, то следующим шагом будет настройка вашего файла конфигурации. Попробуйте другие протоколы URI, например
 | 'AUTO' Default - auto detects | 'PATH_INFO' Uses the PATH_INFO | 'QUERY_STRING' Uses the QUERY_STRING | 'REQUEST_URI' Uses the REQUEST_URI | 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO $config['uri_protocol'] = 'ORIG_PATH_INFO'; 
Если вам все еще не повезло, попробуйте изменить правило перезаписи, чтобы включить вашу подпапку. Это часто является проблемой, если вы используете временный URL-адрес на dev-сервере и т. Д.
 RewriteRule ^(.*)$ /subofolder1/subfolder2/index.php/$1 [L] 
Просто поиграйте с этими опциями, нужно работать. Также убедитесь, что ваш индексный файл установлен в:
 $config['index_page'] = ''; 
Удачи!
Имейте файл the.htaccess в корневой каталог приложения вместе с файлом index.php. (Проверьте, правильно ли расширение htaccess, Bz htaccess.txt не работает для меня.)
И добавьте следующие правила в файл .htaccess,
 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 
Затем найдите следующую строку в файле application / config / config.php
 $config['index_page'] = 'index.php'; 
Установите переменную пустую, как показано ниже.
 $config['index_page'] = ''; 
Вот именно, это сработало для меня.
Если он не работает, попробуйте заменить следующую переменную этими параметрами («AUTO», «PATH_INFO», «QUERY_STRING», «REQUEST_URI» и «ORIG_PATH_INFO») один за другим
 $config['uri_protocol'] = 'AUTO'; 
  Посмотрите в файле system\application\config\config.php , есть переменная с именем index_page 
Это должно выглядеть так
 $config['index_page'] = "index.php"; 
измените его на
 $config['index_page'] = ""; 
  Затем, как уже упоминалось, вам также необходимо добавить правило перезаписи в файл .htaccess 
  Примечание: в CodeIgniter v2 этот файл был перенесен из системной папки в application\config\config.php 
Все вышеописанные методы сработали для меня, а затем я обнаружил, что я не изменяю AllowOverride None для AllowOverride All в моем файле виртуального хоста на / etc / apache2 / sites-available / default
 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All <---- replace None with All </Directory> <Directory /var/www > Options Indexes FollowSymLinks MultiViews AllowOverride All <--- replace None with All Order allow,deny allow from all </Directory> ... 
 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /codeigniter/index.php/$0 [PT,L] 
после изменения RewriteRule. * index.php / $ 0 [PT, L] с именем папки проекта «codeigniter» .it работает для меня. Спасибо, ребята, за вашу поддержку.
Просто подумал, что могу добавить
 RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
будет .htaccess и обязательно отредактируйте переменную application / config.php следующим образом:
замещать
 $config['uri_protocol'] = “AUTO” 
с
 $config['uri_protocol'] = “REQUEST_URI” 
 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 
Это обязательно должно работать. Попробуйте
Шаг 1 => Поместите файл .htaccess в корневую папку, где существуют приложения и системные папки.
Шаг 2 => Если ваш веб-путь с использованием подпапки, например – yourdomain.com/project/, затем используйте следующий код в файле htaccess
 RewriteEngine on RewriteBase /project/ RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /project/index.php/$1 [L] 
Если ваш веб-путь с использованием корневой папки – yourdomain.com – используйте следующий код в файле htaccess
 RewriteEngine on RewriteBase / RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 
 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 
Это – .htaccess для одного из моих проектов CI:
 RewriteEngine on RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L] 
Последняя строка должна предоставить вам то, что вам нужно, хотя вам может и не понадобиться «/ projectFolder» в зависимости от того, как настроена структура вашей папки. Удачи!
  Используйте mod_rewrite как указано в этом уроке из вики CI. 
  Убедитесь, что вы включили mod_rewrite (у меня не было). 
  Включить: 
 sudo a2enmod rewrite 
  Кроме того, замените AllowOverride None на AllowOverride All 
 sudo gedit /etc/apache2/sites-available/default 
Finaly …
 sudo /etc/init.d/apache2 restart 
Мой .htaccess – это
 RewriteEngine on RewriteCond $1 !^(index\.php|[assets/css/js/img]|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L] 
  Посмотрите в файле \application\config\config.php , есть переменная с именем index_page 
Это должно выглядеть так
 $config['index_page'] = "index.php"; 
измените его на
 $config['index_page'] = ""; 
  Затем, как уже упоминалось, вам также необходимо добавить правило перезаписи в файл .htaccess следующим образом: 
 RewriteEngine on RewriteCond $1 !^(index\\.php|resources|robots\\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
Это работает для меня, надеюсь, вы тоже.
В качестве файла .htaccess хороший вариант – использовать тот, который предоставляется платформой Kohana :
 # Turn on URL rewriting RewriteEngine On # Installation directory RewriteBase / # Protect hidden files from being viewed <Files .*> Order Deny,Allow Deny From All </Files> # Protect application and system files from being viewed RewriteRule ^(?:application|system)\b.* index.php/$0 [L] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule .* index.php/$0 [PT] 
Это хорошо продуманный .htaccess, который просто работает.
Я тестировал это на apache2 на многих разных хостингах, и он отлично работает.
использовать этот htaccess
 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] 
  убедитесь, что вы enabled mod_rewirte с phpinfo(); 
затем сделайте это в config / config.php:
 $config['index_url'] = ''; | | 'AUTO' Default - auto detects | 'PATH_INFO' Uses the PATH_INFO | 'QUERY_STRING' Uses the QUERY_STRING | 'REQUEST_URI' Uses the REQUEST_URI | 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO | */ $config['uri_protocol'] = 'AUTO'; 
  если он еще не работает, попробуйте изменить $config['uri_protocol']='AUTO' в один из перечисленных внутри файла application/config/config.php в строке 40/54: 
  иногда я использовал: REQUEST_URI вместо AUTO или "QUERY_STRING" для ходов goDaddy 
Если вы используете linux и используете сервер apache2, нам может потребоваться переопределить файл apache2.conf, помимо изменений в файле .htaccess. Найдите файл конфигурации apache2 на /etc/apache2/apache2.conf .
Каталог поиска / var / www / Изменить AllowOverride None -> AllowOverride All
 <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory 
Существует два способа решения index.php в URL-адресе для codeigniter
1: В config / config.php Код изменения:
 $config['index_page'] = 'index.php'; 
в
 $config['index_page'] = ''; 
2: Создайте .htacess в корневом пути, если не создан, Скопируйте следующий код:
 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 
Сохраните его, а затем проверьте свою конфигурацию Apache. Rewrite_module ИЛИ mod_rewrite включен. Если вы не включите его. (Лучший подход)!
поместите файл .htaccess в корневой каталог
Что бы вы ни делали, если вы не выполнили это, это не сработает. Обычно его в папке «Система» он должен находиться в корне. Ура!
Я пробовал много решений, но я пришел к такому:
 DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|jquery|js|robots \.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php?$1 [L,QSA] 
Это iwill удалит index.php из url по мере необходимости.
  Я использую эти строки в файле .htaccess ;  который я помещаю в корневую папку 
 RewriteEngine on RewriteRule ^(application|system|\.svn) index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [QSA,L] 
Затем я могу получить доступ к http://example.com/controller/function/parameter
вместо http://example.com/index.php/controller/function/parameter
Это поможет вам вставить этот код в папку приложения в файле .htacess
 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] <Files "index.php"> AcceptPathInfo On </Files> <IfModule mod_php5.c> php_value short_open_tag 1 </IfModule> 
Это сделало меня полной магией:
 RewriteEngine on RewriteBase / # Hide the application and system directories by redirecting the request to index.php RewriteRule ^(application|system|\.svn) index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [QSA,L] 
Надеюсь, поможет!
Привет, Это помогло мне
 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /folder/index.php?/$1 [L] 
а также это
 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /folder/index.php?/$1 [L] 
где папка – это имя подпапки, если это приложение codeigniter размещено в качестве поддомена, например domainname / folder / index.php.
Надеюсь, это сработает для вас. Благодарю.
Скопируйте следующий код в свой .htaccess
 RewriteEngine on Options -Indexes RewriteCond $1 !^(index\.php|assets|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]