Intereting Posts
Как отсортировать массив по подобию по отношению к введенному слову. Изображение невозможно отобразить, поскольку оно содержит ошибку в php gd DOMDocument: как получить внутренний HTML как строки, разделенные перерывами? Как переопределить экспортируемые переменные в phpunit? Как использовать мониторы в PHP? Рекурсивно сканирование файловой папки PHP, отсортированное по дате модификации Подключиться к удаленному файлу .mdb MS Access с php on linux Проблема переадресации htaccess 301 Ошибка с .htaccess и mod_rewrite Как вызвать функцию контроллера внутри вида в laravel 5 db2_execute возвращает «Describe Param Failed» и «Binding Error» file_get_contents Добавление чисел из 2 текстовых файлов Минималистичный механизм ведения блога PHP с уделением особого внимания качеству кода Поиск сообщений с помощью Facebook Graph Api Как я могу присоединиться к двум таблицам в нескольких столбцах в CakePHP 3?

Переназначить index.php в CodeIgniter

Я создал приложение CodeIgniter, и теперь я пытаюсь перенаправить URL-адреса с index.php на URL-адреса без него.

Мой текущий .htaccess:

RewriteEngine On RewriteBase / # Removes trailing slashes (prevents SEO duplicate content issues) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ $1 [L,R=301] # Enforce www # If you have subdomains, you can add them to # the list using the "|" (OR) regex operator RewriteCond %{HTTP_HOST} !^(www|subdomain) [NC] RewriteRule ^(.*)$ http://www.plugb.com/$1 [L,R=301] # 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] 

Единственная проблема заключается в том, что одна и та же страница доступна с индексом index.php и без него.

Например:

http://www.plugb.com/index.php/games/adventure-rpg

а также

http://www.plugb.com/games/adventure-rpg

Есть ли способ перенаправить URL-адреса index.php?

Благодарю вас, Габриэль.

Solutions Collecting From Web of "Переназначить index.php в CodeIgniter"

Добавьте это до последнего правила:

 RewriteBase / RewriteCond %{HTTP_HOST} !="" RewriteRule ^index.php(/.*)?$ http://%{HTTP_HOST}$1 [R=301] 

или запретить доступ:

 RewriteRule ^index.php(/.*)?$ - [R=404] 

Документация CodeIgniter wiki описывает, как достичь этого точного поведения.

В этой статье объясняется, как удалить «index.php» из ваших URL-адресов приложений CI . Тем не менее, он НЕ удаляет необходимость в Index.php, который является фронт-контроллером CI, т. Е. Хотя Index.php не будет отображаться в URL-адресе, он все равно должен присутствовать на верхнем уровне вашего сайта (выше / system /).

Можете ли вы попробовать? RewriteRule ^ (. *) $ Index.php /? $ 1 [L]

Надеюсь, это сработает.

Я придумал обходное решение для этого:

 $clean_url = str_replace('index.php','',current_url()); $current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if($clean_url!==$current_url) { redirect($clean_url,'location',301); } 

Это не с .htaccess, но это в вашем контроллере может решить проблему. (По крайней мере, он работал в PlugB )

Вам не нужно писать код для «перенаправления» index.php URLS.

Перейдите в application / config / config.php и выполните следующие изменения:

 $config['index_page'] = "";