Konfigurowanie przekierowań stron w ServBay
Przekierowanie strony polega na automatycznym przekierowaniu odwiedzających z jednego adresu URL na inny. Skonfigurowanie przekierowań w środowisku developerskim jest kluczowe dla symulacji zachowań produkcyjnych, testowania zmian struktury adresów lub zapewnienia, że stare linki nadal działają w nowych wersjach projektu. ServBay, jako zaawansowane lokalne środowisko web developerskie, pozwala na łatwą konfigurację przekierowań dzięki zintegrowanym serwerom WWW (Caddy lub Nginx).
Przegląd
W ServBay każdy utworzony przez Ciebie serwis posiada swoją indywidualną konfigurację serwera WWW. Przekierowania realizowane są poprzez edytowanie plików konfiguracyjnych tych serwerów. ServBay obsługuje zarówno Caddy, jak i Nginx – wybierasz je według potrzeb projektu lub własnych preferencji. Konfiguracja przekierowań zazwyczaj polega na wskazaniu wzoru źródłowego URL, docelowego URL oraz typu przekierowania (np. 301 - przekierowanie trwałe lub 302 - tymczasowe).
Typowe scenariusze zastosowań
Powszechne scenariusze użycia przekierowań w ServBay na etapie lokalnego developmentu:
- Symulacja środowiska produkcyjnego: Upewnij się, że ustawienia przekierowań lokalnie odpowiadają regułom na serwerze produkcyjnym.
- Testowanie HTTPS: Wymuszaj przekierowanie wszystkich żądań HTTP na HTTPS, aby testować bezpieczne połączenia.
- Normalizacja URL: Przekierowuj domenę z
www
na bezwww
lub odwrotnie, dbając o spójność adresów. - Obsługa zmian w strukturze URL: Gdy zmieniasz ścieżki lub strukturę strony, przekieruj stare adresy na nowe, aby uniknąć błędów 404 podczas testów.
- Testowanie migracji domeny: Symuluj przekierowania ze starej domeny na nową.
Wymagania wstępne
Aby skonfigurować przekierowania w ServBay, potrzebujesz:
- Zainstalowanego i uruchomionego ServBay.
- Działającej strony dodanej do ServBay przeznaczonej do przekierowań.
- Informacji, czy Twój serwis używa serwera Caddy czy Nginx.
Metoda konfiguracji
ServBay zapewnia osobny plik konfiguracyjny serwera WWW dla każdej strony. Możesz łatwo uzyskać do niego dostęp i edytować go z poziomu interfejsu ServBay.
Dostęp do pliku konfiguracyjnego strony
- Otwórz aplikację ServBay.
- W lewym pasku nawigacyjnym kliknij Strony (Website).
- Znajdź serwis, który chcesz skonfigurować, kliknij jego nazwę, by przejść do szczegółów.
- Na stronie szczegółów odszukaj i kliknij opcję „Plik konfiguracyjny” lub podobną (nazwa i miejsce mogą się różnić w zależności od wersji ServBay) – umożliwi to otwarcie odpowiedniego pliku konfiguracyjnego serwera WWW.
Następnie, w zależności od używanego serwera (Caddy lub Nginx), postępuj zgodnie z poniższymi instrukcjami.
Przekierowania za pomocą Caddy
Jeśli Twój serwis działa na Caddy, edytowanym plikiem będzie Caddyfile. Składnia Caddyfile jest prosta i czytelna.
Oto kilka najczęstszych konfiguracji przekierowań w Caddy. Wklej te fragmenty do Caddyfile swojej strony, zwykle w obrębie bloku adresu witryny ({}
).
Przykład 1: Przekierowanie z HTTP na HTTPS
Domyślnie Caddy automatycznie przekierowuje HTTP na HTTPS, jeśli skonfigurowany jest certyfikat SSL (nieważne czy ServBay User CA czy przez ACME). W przypadku potrzeby manualnej lub zaawansowanej konfiguracji, możesz użyć polecenia redirect
:
bash
servbay.demo {
# ... inne ustawienia ...
# Wymuś przekierowanie wszystkich zapytań HTTP do HTTPS
# Jeśli korzystasz już z SSL w ServBay, nie musisz dodawać tej reguły ręcznie,
# ale do niestandardowej konfiguracji możesz dodać:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... inne ustawienia ...
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Przykład 2: Przekierowanie z domeny bez www na www
Przekierowanie servbay.demo
na www.servbay.demo
:
bash
servbay.demo {
# Przekieruj wszystkie zapytania do servbay.demo na www.servbay.demo (301, trwałe)
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# Standardowa konfiguracja dla www.servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... inne ustawienia ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Przykład 3: Przekierowanie z www na bez www
Przekierowanie z www.servbay.demo
na servbay.demo
:
bash
www.servbay.demo {
# Przekieruj wszystkie zapytania do www.servbay.demo na servbay.demo (301, trwałe)
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# Standardowa konfiguracja dla servbay.demo
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... inne ustawienia ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Przykład 4: Przekierowanie konkretnych ścieżek
Przekierowanie starego /old-path
na nowy /new-path
:
bash
servbay.demo {
# ... inne ustawienia ...
# Trwałe przekierowanie ze ścieżki /old-path na /new-path
redir /old-path /new-path permanent
# Tymczasowe przekierowanie /deprecated/page.html na /new/page/
redir /deprecated/page.html /new/page/ temporary
# ... inne ustawienia ...
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Typy przekierowań w Caddy
permanent
: 301 – stałe przekierowanie, korzystne dla SEO.temporary
: 302 – przekierowanie tymczasowe.internal
: wewnętrzny rewrite, URL nie zmienia się (nie jest to prawdziwe przekierowanie HTTP).
Po zmianie Caddyfile zapisz plik – ServBay automatycznie (lub poprosi o ręczne) przeładowanie konfiguracji Caddy, by zmiany zaczęły obowiązywać.
Przekierowania za pomocą Nginx
Jeśli Twój serwis korzysta z Nginx, edytuj jego plik konfiguracyjny .conf
. Nginx używa instrukcji return
lub rewrite
do realizacji przekierowań. return
jest prostsze i zalecane przy stałych przekierowaniach, rewrite
– do bardziej zaawansowanych przypadków z wyrażeniami regularnymi.
Oto najczęstsze przykłady przekierowań w Nginx. Wklej je do pliku .conf
swojej strony, zwykle w bloku server
.
Przykład 1: Przekierowanie z HTTP na HTTPS
W ServBay, jeśli serwis nasłuchuje zarówno na portach 80, jak i 443, dodaj regułę przekierowania w bloku server
dla portu 80:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Przekieruj wszystkie żądania HTTP do HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... dalsza konfiguracja HTTPS ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Katalog główny strony itd.
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... inne bloki 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
Przykład 2: Przekierowanie z bez www na www
Przekieruj servbay.demo
na www.servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # obsługuje domenę bez www
# Przekieruj wszystkie żądania do subdomeny www, pozostawiając URI i protokół bez zmian
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; # obsługuje domenę www
# ... standardowa konfiguracja 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
Przykład 3: Przekierowanie z www na bez www
Przekieruj www.servbay.demo
do servbay.demo
:
nginx
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # obsługuje domenę www
# Przekieruj wszystkie żądania do domeny bez www – zachowując URI i protokół
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # obsługuje domenę bez www
# ... standardowa konfiguracja bez 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
Przykład 4: Przekierowanie wybranych ścieżek (location
+ return
lub rewrite
)
Przekierowanie starej ścieżki /old-path
na nową /new-path
:
nginx
server {
# ... inne ustawienia serwera ...
location = /old-path {
# Dokładne dopasowanie /old-path i trwałe przekierowanie na /new-path
return 301 /new-path;
}
location /deprecated/ {
# Wszystkie żądania poniżej /deprecated/ przekieruj tymczasowo do /archive/
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... dalsze bloki 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
Typy przekierowań w Nginx
301
: Przekierowanie trwałe.302
: Przekierowanie tymczasowe.redirect
: To samo co 302.permanent
: To samo co 301.
Po zmianach w pliku .conf
zapisz go – ServBay automatycznie przeładuje (lub poprosi o ręczne przeładowanie) konfiguracji Nginx po zapisaniu.
Wskazówki i dobre praktyki
- Kopia zapasowa konfiguracji: Przed każdą zmianą zalecamy wykonanie kopii zapasowej pliku konfiguracyjnego, by móc przywrócić oryginał w razie problemów.
- Weryfikacja składni: Po edycji pliku warto sprawdzić poprawność składni. ServBay najczęściej robi podstawową analizę przy zapisywaniu, ale warto zweryfikować to ręcznie. Dla Nginx można użyć polecenia
nginx -t
(jeśli Nginx znajduje się w systemowym PATH lub z poziomu terminala ServBay). - Testowanie przekierowań: Po skonfigurowaniu dokładnie przetestuj różne warianty – z www, bez www, HTTP i HTTPS – oraz konkretne ścieżki, aby się upewnić, że przekierowania działają zgodnie z oczekiwaniami.
- Cache przeglądarki: Przeglądarki cache’ują przekierowania 301. Jeśli często zmieniasz reguły 301 podczas testów, możesz napotkać na zbuforowane przekierowania. W takiej sytuacji wyczyść cache lub korzystaj z trybu incognito/deweloperskiego z wyłączonym cache. Do testów tymczasowych lepiej użyć 302, a po potwierdzeniu poprawności zmienić na 301.
- Przeładowanie konfiguracji w ServBay: Upewnij się, że po zapisaniu zmian ServBay poprawnie przeładował konfigurację serwera WWW. Najczęściej dzieje się to automatycznie, czasem pojawia się odpowiedni komunikat lub przycisk.
Często zadawane pytania (FAQ)
Q: Ustawiłem przekierowanie, ale przeglądarka nie przekierowuje mnie – dlaczego?
A: Możliwe powody:
- Błąd w pliku konfiguracyjnym: Sprawdź, czy składnia jest poprawna i czy plik został zapisany.
- Konfiguracja nie została przeładowana: Sprawdź, czy ServBay zastosował nowe ustawienia.
- Cache przeglądarki: Wyczyść cache lub testuj w trybie incognito.
- Reguła nie pasuje: Zweryfikuj, czy reguła przekierowania dokładnie odpowiada adresowi, który odwiedzasz.
Q: Jaka jest różnica między przekierowaniami 301 i 302 oraz którego użyć w developmencie?
A: 301 to przekierowanie trwałe – informuje przeglądarki i wyszukiwarki, że zasób przeniósł się na stałe, co wpływa korzystnie na SEO. 302 to przekierowanie tymczasowe. W developmencie, do testów lub debugowania, lepiej korzystać z 302 (przeglądarki nie cache’ują tego przekierowania). Jeśli symulujesz rzeczywiste, trwałe przekierowanie np. przy migracji domen, użyj 301.
Q: Po modyfikacji pliku ServBay zgłasza błąd lub serwer nie chce się uruchomić – co robić?
A: Najczęściej to wynik błędu w składni. Sprawdź dokładnie zmienione fragmenty i porównaj z dokumentacją Caddyfile lub Nginx. Szczegóły błędów można znaleźć w logach ServBay.
Podsumowanie
Konfiguracja przekierowań stron w ServBay to podstawowa czynność w lokalnym środowisku developerskim. Realizuje się ją bezpośrednio przez edycję plików konfiguracyjnych Caddy lub Nginx. Niezależnie od tego, czy symulujesz środowisko produkcyjne, testujesz HTTPS czy zmieniasz strukturę URL – znajomość składni przekierowań (redir
dla Caddy, return
/rewrite
dla Nginx) zdecydowanie ułatwi i przyspieszy Twoją pracę w ServBay. Po wprowadzeniu zmian zawsze testuj przekierowania i pamiętaj o możliwym wpływie cache przeglądarki.