Перезапис URL-адрес на Apache у Debian 8

Пропозиція від 8host.com

debian

Вимоги

  • Сервер Debian 8 (інструкції з налаштування сервера можна знайти тут).
  • Встановлений веб-сервер Apache 2 (дивіться спеціальний розділ керівництва Встановлення стека LAMP у Debian 8).

1: Увімкнення mod_rewrite

Спочатку потрібно увімкнути модуль mod_rewrite. Він поставляється з Apache 2 за замовчуванням, але вмикати його потрібно вручну.

sudo a2enmod rewrite

Ця команда увімкне модуль. Якщо модуль був увімкнений раніше, вона повідомить вас про це. Щоб оновити налаштування веб-сервера, перезапустіть його:

sudo systemctl restart apache2

Отже, модуль mod_rewrite увімкнено. Тепер потрібно підготувати файл .htaccess, в якому зберігатимуться правила перезапису та редиректу.

2: Створення файлу .htaccess

Файл .htaccess дозволяє настроювати редирект поза конфігураційним файлом сервера. З цієї причини файл .htaccess може ризикувати безпеку веб-програми. Точка на початку імені означає, що це прихований файл.

Примітка : Усі правила, що зберігаються в .htaccess, будуть працювати і в конфігураційних файлах сервера. Документація Apache рекомендує використовувати звичайні файли конфігурації замість .htaccess, оскільки вони швидше обробляються веб-сервером.

Однак у цьому прикладі збільшення продуктивності перестав бути головною метою. Крім того, зберігати правила в .htaccess дуже зручно, особливо якщо один сервер обслуговує відразу декілька сайтів. Цей файл не вимагає перезавантаження сервера, щоб зміни набули чинності, а для його редагування не потрібні привілеї суперкористувача, що спрощує технічне обслуговування та внесення змін до налаштувань. Деякі популярні програми з відкритим вихідним кодом (наприклад,WordPress та Joomla) часто використовують файл .htaccess.

Перш ніж розпочати налаштування .htaccess, потрібно додати кілька параметрів у налаштування сервера.

sudo nano /etc/apache2/sites-available/000-default.conf

Знайдіть блок. Додайте до нього наступний блок налаштувань:

Options Indexes FollowSymLinks MultiViews AllowOverride All Завжди повноцінний . . .

Збережіть та закрийте файл. Перезапустіть Apache:

sudo systemctl restart apache2

Тепер створіть файл .htaccess у кореневому каталозі веб-сервера.

sudo nano /var/www/html/.htaccess

Додайте наступний рядок на початок файлу, щоб увімкнути механізм перезапису:

Збережіть та закрийте файл.

Надалі ви зможете використовувати файл .htaccess для зберігання правил маршрутизації програми.

Для початку створіть сторінку about.html у кореневому каталозі веб-сервера:

sudo nano /var/www/html/about.html

Скопіюйте та вставте у файл такий HTML-код: