Работа с lamp
в Linux немного отличается от xampp
в Windows, вам нужно вручную включить несколько настроек.
Ваши правила перезаписи не будут работать, потому что mod_rewrite
отключенпо умолчанию, и вы должны сначала включить его.
Шаг 1 - Включение mod_rewrite
Чтобы Apache понимал правила перезаписи, нам сначала нужно активировать mod_rewrite
.Он уже установлен, но он отключен при установке Apache по умолчанию.Используйте команду a2enmod
для включения модуля:
sudo a2enmod rewrite
Это активирует модуль или предупредит вас, что модуль уже включен.Чтобы эти изменения вступили в силу, перезапустите Apache.
sudo systemctl restart apache2
mod_rewrite
теперь полностью включен.На следующем шаге мы настроим файл .htaccess
, который мы будем использовать для определения правил перезаписи для перенаправлений.
Шаг 2 - Настройка .htaccess
* 1029Файл
.htaccess
позволяет нам изменять наши правила перезаписи, не обращаясь к файлам конфигурации сервера.По этой причине
.htaccess
имеет решающее значение для безопасности вашего веб-приложения.Точка, предшествующая имени файла, гарантирует, что файл скрыт.
По умолчанию Apache запрещает использовать файл .htaccess
для применения правил перезаписи, поэтому сначала необходимо разрешить изменения в файле.Откройте файл конфигурации Apache по умолчанию, используя nano или ваш любимый текстовый редактор.
sudo nano /etc/apache2/sites-available/000-default.conf
Внутри этого файла вы найдете блок <VirtualHost *:80>
, начинающийся с первой строки.Внутри этого блока добавьте следующий новый блок, чтобы ваш файл конфигурации выглядел следующим образом.Убедитесь, что все блоки имеют правильные отступы.
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Сохраните и закройте файл.Чтобы эти изменения вступили в силу, перезапустите Apache.
sudo systemctl restart apache2
Теперь создайте файл .htaccess
в корневом веб-каталоге.
sudo nano /var/www/html/.htaccess
Добавьте эту строку вверху новогофайл для активации механизма перезаписи.
/var/www/html/.htaccess
RewriteEngine on
Сохраните файл и выйдите.
Теперь у вас есть рабочий .htaccess
файл, который вы можете использовать для управления правилами маршрутизации вашего веб-приложения.