Убедитесь, что ваша директива AllowOverride в Apache настроена на разрешение .htaccess
файлов, а на вашем сервере установлено и активно mod_rewrite
.
В Mac OS X вы найдетеэтот файл на /etc/apache2/httpd.conf
.Найдите директиву <Directory>
и измените ее на:
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
Вам нужно будет перезапустить Apache, чтобы он мог прочитать новую конфигурацию:
sudo /usr/sbin/apachectl restart
Если выпредпочитаете использовать графический интерфейс для перезапуска Apache, перейдите на Apple> Системные настройки> Общий доступ и установите флажок рядом с Веб-доступ .
Если выпри использовании Windows или любой другой версии Linux применяется тот же подход, но конфигурация Apache может быть в другом месте, особенно если вы используете WAMP или MAMP .
Также, для справки, "официально поддерживаемый метод" EllisLab для Удаление index.php из URL-адресов ExpressionEngine выглядит следующим образом:
<IfModule mod_rewrite.c>
RewriteEngine On
# Removes index.php
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
# If 404s, "No Input File" or every URL returns the same thing
# make it /index.php?/$1 above (add the question mark)
</IfModule>