Codeigniter удалить /index.php из URL

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

У меня есть веб-сайт с кодом. Он просто отлично работал без index.php в URL-адресе. Так переписывание было успешным. До недавнего времени: внезапно область администрирования (/ admin) вернула 404 и была доступна только по пути «/index.php/admin». Код перезаписи, который когда-то использовался, больше ничего не делал.

И знаю, что я вернулся в начале -> проблема в том, что я не могу удалить index.php из моего url.

Я пробовал так много вещей, что я не знаю, что делать дальше.

Приложение хранится в разделе «public_html / application / … Изображение ниже находится в папке приложения, где находятся файл .htaccess и index.php. Является ли это правильным местом для изменения .htaccess?

введите описание изображения здесь

Я пробовал переписывать .htaccess, но безуспешно:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] RewriteEngine on RewriteCond $1 !^(index\.php|public|\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^CI/(index\.php|public|images|robots\.txt|css) RewriteRule ^(.*)$ /index.php/$1 [L] RewriteEngine on RewriteCond $1 !^(index\.php|images|robots|css\.txt) RewriteRule ^(.*)$ /index.php/$1 [L] 

Мой конфигурационный файл:

 $config['base_url'] = 'http://www.mysite.be/'; $config['index_page'] = ''; $config['uri_protocol'] = 'AUTO'; 

routes.php:

 $route['default_controller'] = "c_home/index"; $route['404_override'] = ''; $route['admin'] = "c_home/adminpanel"; $route['logout'] = "c_login/logout"; 

Кто-нибудь знает, что происходит или как это можно исправить?

Заранее спасибо!

Solutions Collecting From Web of "Codeigniter удалить /index.php из URL"

.htaccess должен находиться в каталоге public_html – то есть: на один уровень выше текущего местоположения. Index.php предположительно находится в public_html уже, а индекс. * У вас на картинке index.html – как и должно быть. Если .htaccess находится в правильном месте в соответствии с приведенным выше, то этот код .htaccess будет работать:

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

Таким образом, я был возиться с этим и, наконец, сделал его работу

Для этого я внес изменения в htaccess и контроллеры.
Я изменил функцию администратора на новый контроллер и изменил его на route.php

новая маршрутизация

 $route['admin'] = "c_login/index"; 

новый .htaccess

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

Попробуйте установить

 $config['uri_protocol'] = 'PATH_INFO' 

И установите

 $config['enable_query_strings'] = FALSE; 

Если нам нужно удалить /index.php из url в codeigniter Than

приложение / Config / config.php

  $config['index_page'] = ''; $config['uri_protocol'] = 'REQUEST_URI'; 

Добавить файл .htaccess в корневой каталог проекта

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

Теперь вы можете получить доступ, как

http://example.com/controller/method

Пусть это будет полезно для вас

Я не знаю, что вы делаете со всем этим кодом, но я просто поместил это в свой файл .htaccess:

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

И бум.