Правило mod_rewrite предложил в официальной документации CodeIgniter по адресу http://ellislab.com/codeigniter/user-guide/general/urls.html который
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
работал отлично для меня на WAMP
Это будет также работать:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
В две вариации, единственное различие - это условие. В принципе, важно правило перезаписи. Условие может зависеть от вашего требования.
Оба эти не работали для меня раньше на WAMP. Однако проблема была в настройках Apache. rewrite_module не был включен. Итак, проверьте, включено ли это. Вы можете проверить, разрешено ли это с помощью phpinfo() и проверить список загруженных модулей.
Если он не включен, вы можете включить его с помощью диспетчера WampServer (доступ к его из панели задач) Перейти к Apache> Модули Apache и проверить «rewrite_module»
ИЛИ
Открыть httpd.conf и проверьте, не расколото ли LoadModule rewrite_module modules/mod_rewrite.so
.
Вам необходимо перезапустить WAMPserver, чтобы активировать изменения.
В чем проблема: http://ellislab.com/codeigniter/user-guide/general/urls.html? –