Я щойно встановив стек LAMP у своїй системі Ubuntu.
Перенаправлення не працює для мене. Я не знаю, як це виправити. Хтось може мені допомогти?
/etc/apache2
який можна включити за допомогою a2*
програм.
Я щойно встановив стек LAMP у своїй системі Ubuntu.
Перенаправлення не працює для мене. Я не знаю, як це виправити. Хтось може мені допомогти?
/etc/apache2
який можна включити за допомогою a2*
програм.
Відповіді:
Щоб увімкнути його модуль перезапису, запустіть "apache2 enable module rewrite":
sudo a2enmod rewrite
Вам потрібно перезапустити веб-сервер, щоб застосувати зміни:
sudo service apache2 restart
Якщо ви плануєте використовувати mod_rewrite у .htaccess
файлах, вам також потрібно включити використання .htaccess
файлів, перейшовши AllowOverride None
на AllowOverride FileInfo
. Для веб-сайту за замовчуванням відредагуйте /etc/apache2/sites-available/default
:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# changed from None to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
Після такої зміни вам потрібно знову перезапустити Apache.
sudo a2enmod rewrite
і FileInfo
зафіксував це для мене!
Я наважуюся додати спеціальну відповідь (як подальший результат до великої відповіді вище) стосовно ubuntu 14.04 та .htaccess
:
У 14.04 ім'я файлу конфігурації за замовчуванням змінюється на 000-default.conf
:
sudo gedit /etc/apache2/sites-available/000-default.conf
додати в кінець файлу наступне:
<Directory "/var/www/html">
AllowOverride All
</Directory>
Чомусь в Ubuntu 14.04 та apache2 корінь встановлений на /www/html
. Якщо ви хочете змінити корінь веб-сервера на старий добрий /www
, open 000-default.conf
і змініть
DocumentRoot /var/www/html/
до
DocumentRoot /var/www/
а потім, звичайно, так і має бути
<Directory "/var/www">
AllowOverride All
</Directory>
Ubuntu 14.04.4 LTS