Назад | Перейти на главную страницу

Как я могу включить mod_rewrite в apache на Ubuntu?

Как включить 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"в этом контексте конфигурации.