Intereting Posts
Лучший скомпилированный язык для совместимости с Mac OS X и Linux Как запустить pm2, чтобы другие пользователи сервера могли получить доступ к этому процессу? Как сделать этот скрипт sed быстрее? раздел зарегистрирован как allowDefinition = ‘MachineToApplication’ за пределами уровня приложения ImportError: нет модуля с именем simplejson Как настроить NGINX + PHP5-FPM для резервирования слотов для определенного диапазона IP-адресов? (все еще) не может правильно установить lxml 2.3 для python, но по крайней мере 2.2.8 работает .NET FileInfo.LastWriteTime & FileInfo.LastAccessTime ошибочны Mongrel :: Дирхандлеровский эквивалент для пассажира .htaccess перенаправить без строки запроса Разница между Cron и Crontab? проверить 500 ошибок внутреннего сервера в режиме производства в рельсах 3.2 Ошибка построения с помощью cmake: не удается найти -lpthreads вопросы разрешения с apache внутри dockerа Как я могу переписать все, кроме моего IP-адреса, на std. Сообщение об ошибке Apache 503 временно отсутствует?

Как удалить index.php из htaccess при перенаправлении 301 – Codeigniter

У меня проблема с Codeigniter, когда тип URL:

example.gov.ar/news (without www and .gov) 

Мне нужно, чтобы он перенаправлялся на:

 www.example.gob.ar/news (with www and .gob) 

Но он перенаправляет

 www.example.gob.ar/index.php/news 

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

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] #non-www to www RewriteCond %{HTTP_HOST} !^www\.(.*) RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L] #.gov.ar to .gob.ar RewriteCond %{http_host} ^example.gov.ar$ [OR] RewriteCond %{http_host} ^www.example.gov.ar$ RewriteRule ^(.*)$ http://www.example.gob.ar/$1 [R=301,L] 

Примечание: в моем файле конфигурации есть $ config [‘index_page’] = ”;

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

Попробуйте переключить порядок ваших правил.

 RewriteEngine on #non-www to www RewriteCond %{HTTP_HOST} !^www\.(.*) RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L] #.gov.ar to .gob.ar RewriteCond %{http_host} ^example.gov.ar$ [OR] RewriteCond %{http_host} ^www.example.gov.ar$ RewriteRule ^(.*)$ http://www.example.gob.ar/$1 [R=301,L] # Redirect to index.php internally RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

Внешнее redirect, вызванное .htaccess, переоценивается по всем правилам, поэтому порядок важен.

В измененном порядке внешние перенаправления происходят первыми, поэтому только конечный URL-адрес сопоставляется с третьим RewriteRule, который затем не становится видимым извне.