Налаштування редіректів для сайтів у 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) дозволяє швидко налаштовувати потрібну поведінку для кожного сайту. Після змін тестуйте роботу редіректів і враховуйте вплив браузерного кешу.
