Удалите index.php из URL-адресов в CodeIgniter с помощью NGINX

Чтобы удалить «index.php» из URL-адреса в CodeIgniter при использовании NGINX, вам необходимо настроить как CodeIgniter, так и NGINX. Вот несколько методов, которые вы можете использовать, а также примеры кода:

Способ 1. Измените файл конфигурации CodeIgniter (config.php):
Откройте файл config.php, расположенный в каталоге application/configвашего приложения CodeIgniter. Найдите строку, которая начинается с $config['index_page'], и удалите значение «index.php». Теперь строка должна выглядеть так:

$config['index_page'] = '';

Метод 2. Измените файл.htaccess (для Apache):
Если вы используете Apache вместо NGINX, вы можете использовать файл.htaccess, чтобы удалить «index.php» из URL-адреса. Создайте новый файл с именем .htaccessв корневом каталоге вашего приложения CodeIgniter, если он еще не существует. Добавьте в файл следующий код:

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

Метод 3. Измените файл конфигурации NGINX:
Если вы используете NGINX в качестве веб-сервера, вам необходимо изменить файл конфигурации NGINX. Найдите блок сервера, соответствующий вашему приложению CodeIgniter, и добавьте в него следующий блок местоположения:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Сохраните файл конфигурации NGINX и перезапустите NGINX, чтобы изменения вступили в силу.

Метод 4. Используйте конфигурацию маршрута CodeIgniter.
Другой метод — настроить маршруты в файле routes.phpCodeIgniter. Откройте файл routes.php, расположенный в каталоге application/configвашего приложения CodeIgniter. Добавьте следующую строку в конец файла:

$route['(:any)'] = 'index.php/$1';

Сохраните файл после внесения изменений.

Эти методы помогут вам удалить «index.php» из URL-адреса в CodeIgniter при использовании NGINX. Не забудьте протестировать приложение после внесения изменений, чтобы убедиться, что все работает должным образом.