Я пытаюсь настроить библиотеку маршрутизации PHP. Они приводят этот пример для файла .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Я не мог заставить это работать, поэтому я попытался включить mod_rewrite, но он говорит: «Перезапись модуля уже включена».
Почему это не работает должным образом? Благодарность! Я использую Ubuntu Precise 12.04 и apache2.2.22. (Проверено на наличие обновлений)
РЕДАКТИРОВАТЬ: Еще пара деталей, это бродячая сборка PuPHPet, должна быть включена перезапись.
apache2
mod-rewrite
Фредди Хеппелл
источник
источник
AllowOverride
Необходим только для рассматриваемой конфигурации.Allow from All
не имеет ничего общего с вопросом и может не подходить для среды @ randomdev.<Directory "/path/to/document/root/">
Я забыл перейти/path/to/document/root/
в мой проект root. Спасибо!Прежде всего, настройте вашу конфигурацию httpd следующим образом (путь может отличаться друг от друга. В моем Ubuntu он находится в / etc / apache2 / sites-available / default):
После этого вы должны включить mod_rewrite с помощью этой команды:
Последнее, перезапустите службу apache :
Чтобы убедиться в этом, вы можете проверить это снова из phpinfo в Configuration> apache2handler> Loaded Modules, там должно быть написано,
mod_rewrite
и это означает, что mod_rewrite включен.источник
У меня была похожая проблема, но другие ответы мне не помогли. Эта строка в начале
.htaccess
решила мою проблему:источник