Налаштування редіректів для сайтів у ServBay
Редірект сайту — це процес автоматичного перенаправлення відвідувачів з однієї URL-адреси на іншу. Налаштування редіректів у локальному середовищі розробки важливе для імітації поведінки продакшн-сервера, тестування змін структури URL або переконання, що старі посилання працюють у новій версії сайту. ServBay — потужне локальне середовище для веб-розробки — дозволяє легко налаштовувати редіректи через інтегровані веб-сервери Caddy або Nginx.
Огляд
У ServBay кожен сайт має власний окремий файл конфігурації веб-сервера. Редіректи налаштовуються шляхом зміни цих конфігураційних файлів. ServBay підтримує веб-сервери Caddy та Nginx — виберіть той, що найбільше підходить до потреб вашого проєкту. Для створення редіректу потрібно вказати шаблон джерельної та цільової URL-адреси, а також тип редіректу (наприклад, 301 — постійний або 302 — тимчасовий).
Типові сценарії використання
Завдання, для яких у локальній розробці з ServBay зазвичай налаштовують редіректи:
- Імітація продакшн-середовища: Забезпечення, що локальні правила редіректу співпадають із продакшном.
- Тестування HTTPS: Примусова переадресація з HTTP на HTTPS для перевірки захищених з’єднань.
- Уніфікація URL-адрес: Перенаправлення з www на non-www або навпаки для послідовності URL.
- Зміна структури URL: Переадресація старих шляхів на нові, щоб уникнути помилок «Сторінку не знайдено» під час тестування.
- Тестування міграції домену: Моделювання перенаправлення зі старого домену на новий.
Необхідні умови
Щоб налаштувати редіректи в ServBay, вам потрібно:
- Встановлений і запущений ServBay.
- Доданий та налаштований сайт, для якого потрібно редірект.
- Знати, який веб-сервер використовується вашим сайтом: Caddy чи Nginx.
Як налаштовувати
Для кожного сайту ServBay надає окремий конфігураційний файл веб-сервера. Доступ і редагування здійснюється через інтерфейс програми.
Як відкрити файл конфігурації сайту
- Запустіть додаток ServBay.
- У лівому навігаційному меню перейдіть до розділу Сайти (Website).
- Знайдіть сайт, для якого потрібно налаштувати редірект, та клікніть по його назві для перегляду деталей.
- У картці сайту знайдіть і натисніть «Файл конфігурації» або подібний пункт (назва та місце можуть незначно відрізнятися залежно від версії ServBay). Це відкриє потрібний файл конфігурації веб-сервера.
Далі дійте згідно з тим, який сервер ви використовуєте: Caddy або Nginx.
Редіректи у Caddy
Якщо ваш сайт працює на Caddy, редагується файл Caddyfile. Його синтаксис дуже простий і інтуїтивний.
Ось декілька популярних прикладів для Caddy. Додайте потрібну конфігурацію у Caddyfile вашого сайту — зазвичай усередині блоку сайту ({}
).
Приклад 1: Редірект з HTTP на HTTPS
У Caddy, якщо SSL вже налаштовано (через ServBay User CA чи ACME), редіректи з HTTP на HTTPS автоматично активуються. Для ручного або більш гнучкого керування використовуйте інструкцію redir
:
bash
servbay.demo {
# ... Інші налаштування ...
# Примусовий редірект з HTTP на HTTPS
# Якщо використовується SSL від ServBay, ця інструкція зазвичай не потрібна.
# Для кастомізації можна додати так:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... Інші налаштування ...
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Приклад 2: Редірект з non-www на www
Перенаправлення всіх запитів з servbay.demo
на www.servbay.demo
:
bash
servbay.demo {
# Постійний редірект усіх запитів на www.servbay.demo
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# Звичайна конфігурація для www.servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... Інші налаштування ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Приклад 3: Редірект з www на non-www
Перенаправлення всіх запитів з www.servbay.demo
на servbay.demo
:
bash
www.servbay.demo {
# Постійний редірект усіх запитів на servbay.demo
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# Звичайна конфігурація для servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... Інші налаштування ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Приклад 4: Редіректи для окремих шляхів
Редірект зі старого шляху /old-path
на новий /new-path
:
bash
servbay.demo {
# ... Інші налаштування ...
# Постійний редірект з /old-path на /new-path
redir /old-path /new-path permanent
# Тимчасовий редірект з /deprecated/page.html на /new/page/
redir /deprecated/page.html /new/page/ temporary
# ... Інші налаштування ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Типи редіректів у Caddy
permanent
: Постійний редірект (301), рекомендовано для SEO.temporary
: Тимчасовий редірект (302).internal
: Внутрішній рерайт без зміни URL (не HTTP-редірект).
Після змін у Caddyfile збережіть файл — ServBay автоматично або з підказкою перезавантажить налаштування Caddy.
Редіректи у Nginx
Для сайтів на Nginx редагується конфігураційний файл Nginx (зазвичай .conf
). Редірект реалізується за допомогою директив return
або rewrite
. Для простих задач підходить return
, для складних — rewrite
з регулярними виразами.
Ось актуальні приклади таких налаштувань для Nginx. Додавайте їх у .conf
файл вашого сайту — зазвичай всередині блоку server
.
Приклад 1: Редірект з HTTP на HTTPS
У ServBay, якщо сайт слухає порти 80 і 443, додайте правило редіректу у конфігурацію для порту 80:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Редірект усіх HTTP-запитів на HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... Інші HTTPS-налаштування ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Корінь сайту тощо
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... Інші блоки location ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Приклад 2: Редірект з non-www на www
Перенаправлення всіх запитів з servbay.demo
на www.servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # Слухає non-www домен
# Постійний редірект на www-субдомен, збереження URI та протоколу
return 301 $scheme://www.servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.servbay.demo; # Слухає www-домен
# ... Звичайна конфігурація для www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Приклад 3: Редірект з www на non-www
Перенаправлення всіх запитів з www.servbay.demo
на servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # Слухає www-домен
# Постійний редірект на non-www домен, збереження URI та протоколу
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # Слухає non-www домен
# ... Звичайна конфігурація для non-www ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Приклад 4: Редіректи для окремих шляхів (з використанням location, return/rewrite)
Редірект зі старого шляху /old-path
на новий /new-path
:
nginx
server {
# ... Інші налаштування сервера ...
location = /old-path {
# Точна відповідність /old-path, постійний редірект на /new-path
return 301 /new-path;
}
location /deprecated/ {
# Тимчасовий редірект усіх запитів з /deprecated/ у /archive/
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... Інші location-блоки ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Типи редіректів у Nginx
301
: Постійний редірект.302
: Тимчасовий редірект.redirect
: Аналогічно 302.permanent
: Аналогічно 301.
Після змін у .conf
файлі збережіть його — ServBay автоматично або з підказкою перезавантажить Nginx.
Важливі поради
- Резервне копіювання файлів: Перед змінами обов’язково зробіть резервну копію початкової конфігурації для відновлення у разі проблем.
- Перевірка синтаксису: Після змін в конфігураціях перевірте коректність синтаксису. ServBay зазвичай робить базову перевірку при збереженні, але додатково рекомендовано користуватись тестуванням вручну. Для Nginx використовуйте команду
nginx -t
(якщо вона доступна у вашій системі або через термінал ServBay). - Тестування редіректів: Після налаштування ретельно протестуйте всі випадки: з/без www, HTTP/HTTPS, конкретні шляхи — переконайтеся, що перенаправлення працюють як треба.
- Кеш браузера: Браузери кешують 301-редіректи. Якщо ви часто змінюєте правила 301 під час тесту — очищайте кеш, користуйтесь приватним режимом чи вимикайте кеш у DevTools. Для тимчасових тестів зручніше використовувати 302.
- Перезавантаження ServBay: Після змін у конфігурації переконайтесь, що серверні налаштування були застосовані повторно. Зазвичай ServBay робить це автоматично або пропонує відповідну дію в інтерфейсі.
Поширені питання (FAQ)
Q: Я налаштував редірект, але браузер не перенаправляє, що не так?
A: Основні причини:
- Помилка у файлі конфігурації: Перевірте чи збережена і коректна ваша конфігурація.
- ServBay не перезавантажив налаштування: Переконайтеся, що зміни застосовано.
- Кеш браузера: Спробуйте очистити кеш або скористайтесь інкогніто.
- Помилковий шаблон URL: Перевірте відповідність правил у конфігурації з фактичною URL, яку тестуєте.
Q: Чим відрізняється 301 від 302 і який вибрати для локальної розробки?
A: 301 — постійний редірект, інформує браузери й пошуковики про постійну зміну адреси (корисно для SEO). 302 — тимчасовий редірект, означає тимчасову зміну шляху. Для тимчасових тестів і розробки зручніше 302 (браузер не кешує). Якщо моделюєте реальний сценарій міграції — обирайте 301.
Q: Після змін у файлі конфігурації ServBay виводить помилку або веб-сервер не запускається — що робити?
A: Ймовірно допущена синтаксична помилка у конфігурації. Перевірте внесені зміни згідно офіційної документації Caddy або Nginx. В логах ServBay можна знайти детальнішу інформацію для діагностики.
Підсумок
Налаштування редіректів у ServBay — звичайна задача локальної розробки й тестування. Вона реалізується шляхом прямого редагування файлів Caddy чи Nginx. Володіння базовим синтаксисом редіректів (redir
для Caddy, return
/rewrite
для Nginx) дозволяє швидко налаштовувати потрібну поведінку для кожного сайту. Після змін тестуйте роботу редіректів і враховуйте вплив браузерного кешу.