Как включить mod_rewrite с Apache в Ubuntu 10.04?
Я пробовал копировать rewrite.load
из /etc/apache2/mods-available
к etc/apache2/mods-enabled
но это не сработало.
Попробуй это: sudo a2enmod rewrite
, а затем перезапустите apache.
Ответ Obsidian на использование a2enmod - правильное решение. Метод andol будет работать, но может сломаться при обновлении. Что делает a2enmod, так это просто создает символическую ссылку, поэтому следующие два решения являются одинаковыми, и оба являются правильными:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
или
a2enmod rewrite
Однако a2enmod будет искать файлы других типов, у некоторых есть .conf, а возможно, у других. Нет причин не изучать эту команду, хотя важно знать, что происходит в фоновом режиме.
Копирование файла сделает вас очень недовольным любому будущему администратору. :)
На самом деле, будучи своего рода неправильным решением, копирование rewrite.load из ./mods-available/ к ./mods-enabled/ должно было работать. Вы не забыли после этого перезапустить Apache?
В любом слючае, ./mods-enabled/ обычно должен содержать символические ссылки на соответствующие файлы в ./mods-available/. Это, как упоминал Obsidian, проще всего сделать с помощью команд a2enmod и a2dismod.
Помимо включения модуля, вам также нужно будет активировать перезапись. Прежде чем вы сможете написать свой RewriteCond: s и RewriteRule: s должен быть "RewriteEngine On"в этом контексте конфигурации.