Как включить mod_rewrite в LAMP на ubuntu?

Я использую Ubuntu 12.04 LTS linux на своей машине. Я уже установил LAMP на нем. Теперь я хочу включить модуль mod_rewrite. Я много сделал google и много раз пробовал, но не смог включить mod_rewrite. Может ли кто-нибудь помочь мне включить mod_rewrite? Спасибо заранее.

Ответы

Ответ 1

TL; версия DR - выполните следующие действия в терминале:

sudo a2enmod rewrite && sudo service apache2 restart

С пояснениями - сделайте следующее в терминале:

ls -l /etc/apache2/mods-available/rewrite.load    ///if it prints out rewrite.load, it there and ready to go

sudo a2enmod rewrite   //enables the mod

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink

sudo vi /etc/apache2/sites-available/default   //opens the file in vi (you can also use vim or nano)

Заменить вхождения "AllowOverride None" с "AllowOverride all" при необходимости

sudo service apache2 restart    ///restarts apache

Отредактируйте свою запись виртуального хоста в /etc/apache 2/sites-available и добавьте AllowOverride All в DocumentRoot. Ваш виртуальный хост должен в конечном итоге выглядеть примерно так:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com
  <Directory /var/www/vhosts/example.com>
    AllowOverride all
  </Directory>
</VirtualHost>

Хотя это не подходит для производственных сред, оно отлично подходит для локальной разработки.

Ответ 2

Вы не указали, какие команды вы пробовали, поэтому я начну с основного:

sudo a2enmod rewrite

Вы также можете проверить, разрешено ли переписывание мод, используя:

apache2ctl -M