Я щойно встановив стек 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