ServBay'de Site Yönlendirme Yapılandırması
Site yönlendirmesi, ziyaretçileri bir URL'den otomatik olarak başka bir URL'ye yönlendirme sürecidir. Yerel geliştirme ortamında yönlendirme yapılandırmak, üretim ortamındaki davranışları simüle etmek, URL yapısı değişikliklerini test etmek veya eski bağlantıların yeni geliştirme sürümünde hala çalışır durumda kalmasını sağlamak açısından kritik öneme sahiptir. ServBay, entegre ettiği web sunucuları (Caddy veya Nginx) ile site yönlendirmelerini kolayca yapılandırmanızı sağlayan güçlü bir yerel web geliştirme platformudur.
Genel Bakış
ServBay’de oluşturduğunuz her web sitesi, kendine ait bir web sunucu yapılandırması ile yönetilir. Yönlendirmeler bu web sunucularının yapılandırma dosyalarını düzenleyerek tanımlanır. ServBay, web sunucusu olarak Caddy ve Nginx'i destekler; proje ihtiyacınıza veya tercihinize göre birini seçebilirsiniz. Yönlendirme yapılandırması genellikle kaynak URL deseni, hedef URL ve yönlendirme tipinin (ör. 301 kalıcı yönlendirme veya 302 geçici yönlendirme) belirtilmesini gerektirir.
Kullanım Senaryoları
ServBay ile yerel geliştirmede site yönlendirmesi yapılandırmanın yaygın kullanım senaryoları şunlardır:
- Üretim Ortamını Simüle Etme: Yerel ortamınızda da üretim sunucusundaki yönlendirme kurallarıyla tutarlılık sağlayabilirsiniz.
- HTTPS Testi: Tüm HTTP isteklerini HTTPS’ye yönlendirerek güvenli bağlantıları simüle edebilirsiniz.
- URL’leri Kanonikleştirme:
www
ile başlayan alan adlarınıwww
olmayan sürümlere (veya tersi) yönlendirerek tutarlı URL kullanımı elde edebilirsiniz. - URL Yapısı Değişikliklerinde Dönüşüm: Sitenizin sayfa yollarını değiştirdiğinizde, eski URL'leri yenilere yönlendirerek yerel testlerde "sayfa bulunamadı" hatalarını önleyebilirsiniz.
- Alan Adı Taşıma Testleri: Eski alan adını yeni alan adına yönlendirme ayarlarını simüle edebilirsiniz.
Ön Gereksinimler
ServBay’de site yönlendirmesi yapılandırmak için aşağıdaki gereksinimleri sağlamalısınız:
- ServBay yüklü ve çalışıyor olmalı.
- Yönlendirme yapmak istediğiniz site, ServBay’de eklenmiş ve yapılandırılmış olmalı.
- Sitenizin hangi web sunucusunu (Caddy veya Nginx) kullandığını bilmelisiniz.
Yapılandırma Yöntemleri
ServBay, her site için ayrı bir web sunucusu yapılandırma dosyası sunar. Bu dosyalara ServBay arayüzü üzerinden kolayca erişip düzenleyebilirsiniz.
Site Yapılandırma Dosyasına Erişim
- ServBay uygulamasını açın.
- Sol menüden Site (Website) bölümüne tıklayın.
- Yönlendirme ayarını yapmak istediğiniz siteyi bulun, ismine tıklayarak detay sayfasına girin.
- Site detay sayfasında “Yapılandırma Dosyası” veya benzeri bir seçeneği bulun ve tıklayın (Seçeneğin yeri veya adı ServBay sürümüne bağlı olarak değişebilir). Bu, siteye ait web sunucusu yapılandırma dosyasını açacaktır.
Ardından, kullandığınız web sunucusuna göre (Caddy veya Nginx) aşağıdaki yönergeleri izleyin.
Caddy ile Yönlendirme Yapılandırması
Siteniz Caddy’i web sunucusu olarak kullanıyorsa, ilgili sitenin Caddyfile dosyasını düzenlemeniz gerekir. Caddyfile’ın sözdizimi oldukça basittir.
Aşağıda sık kullanılan bazı Caddy yönlendirme yapılandırma örnekleri yer almaktadır. Bunları sitenizdeki Caddyfile dosyasında, genellikle site adresi bloğunun ({}
) içine ekleyiniz.
Örnek 1: HTTP'den HTTPS'ye Yönlendirme
Caddy, SSL sertifikası (ServBay User CA ya da ACME) tanımlandıysa, HTTP'den HTTPS'ye yönlendirmeyi varsayılan olarak otomatik yapar. Daha özelleştirilmiş bir yönlendirme kurmak için redirect
(“redir”) komutunu kullanabilirsiniz:
servbay.demo {
# ... diğer yapılandırmalar ...
# Tüm HTTP isteklerini HTTPS'ye yönlendir
# ServBay’in SSL özelliğini kullandığınızda bunu eklemeniz gerekmez
# Ancak özelleştirilmiş yönlendirme istiyorsanız şöyle ekleyebilirsiniz:
redir http://servbay.demo https://servbay.demo{uri} permanent
# ... diğer yapılandırmalar ...
}
2
3
4
5
6
7
8
9
10
Örnek 2: www Olmayanı www'ya Yönlendirme
servbay.demo
adresini www.servbay.demo
ya yönlendirme:
servbay.demo {
# servbay.demo altındaki tüm istekleri kalıcı olarak www.servbay.demo'ya yönlendir
redir https://www.servbay.demo{uri} permanent
}
www.servbay.demo {
# www.servbay.demo için normal site yapılandırması
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... diğer yapılandırmalar ...
}
2
3
4
5
6
7
8
9
10
11
Örnek 3: www'dan www Olmayan Sürüme Yönlendirme
www.servbay.demo
adresini servbay.demo
ya yönlendirme:
www.servbay.demo {
# www.servbay.demo altındaki tüm istekleri kalıcı olarak servbay.demo'ya yönlendir
redir https://servbay.demo{uri} permanent
}
servbay.demo {
# servbay.demo için normal site yapılandırması
root * /Applications/ServBay/www/your-servbay-demo-site
file_server
# ... diğer yapılandırmalar ...
}
2
3
4
5
6
7
8
9
10
11
Örnek 4: Belirli Bir Yolu Yönlendirme
Eski /old-path
adresini yeni /new-path
adresine yönlendirme:
servbay.demo {
# ... diğer yapılandırmalar ...
# /old-path adresini kalıcı olarak /new-path'e yönlendir
redir /old-path /new-path permanent
# /deprecated/page.html adresini geçici olarak /new/page/ adresine yönlendir
redir /deprecated/page.html /new/page/ temporary
# ... diğer yapılandırmalar ...
}
2
3
4
5
6
7
8
9
10
11
Caddy Yönlendirme Tipleri
permanent
: 301 kalıcı yönlendirme, SEO dostudur.temporary
: 302 geçici yönlendirme.internal
: İç yeniden yazım; URL değişmez (gerçek bir HTTP yönlendirmesi değildir).
Caddyfile dosyasını kaydettikten sonra, ServBay yapılandırma değişikliğini otomatik olarak uygular veya size yapılandırmayı tekrar yüklemenizi önerir.
Nginx ile Yönlendirme Yapılandırması
Siteniz Nginx’i web sunucusu olarak kullanıyorsa, sitenize ait Nginx yapılandırma dosyasını (genellikle .conf
uzantılı) düzenlemeniz gerekir. Nginx, yönlendirma için return
veya rewrite
komutunu kullanır. Sabit yönlendirmeler için return
önerilir; daha karmaşık durumlarda regex destekleyen rewrite
kullanılabilir.
Aşağıda, sık kullanılan bazı Nginx yönlendirme yapılandırması örnekleri yer almaktadır. Bunları sitenizin Nginx .conf
dosyasına, genellikle server
bloğu içinde ekleyiniz.
Örnek 1: HTTP'den HTTPS'ye Yönlendirme
ServBay’de, siteniz hem 80 (HTTP) hem de 443 (HTTPS) portlarını dinliyorsa, 80 portunu dinleyen server
bloğunda yönlendirme kuralı eklenebilir:
server {
listen 80;
listen [::]:80;
server_name servbay.demo www.servbay.demo;
# Tüm HTTP isteklerini HTTPS'ye yönlendir
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo www.servbay.demo;
# ... HTTPS sitesi için diğer yapılandırmalar ...
# ssl_certificate ...;
# ssl_certificate_key ...;
# Site kök dizini vb.
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ... diğer location blokları vb. ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Örnek 2: www Olmadan www'ya Yönlendirme
servbay.demo
adresini www.servbay.demo
ya yönlendirme:
server {
listen 80;
listen [::]:80;
server_name servbay.demo; # www olmayan alan adı dinleniyor
# Tüm istekleri www alt alan adına yönlendir, URI ve protokolü korur
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 alan adı dinleniyor
# ... www sitesinin normal yapılandırması ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Örnek 3: www'dan www Olmayan Sürüme Yönlendirme
www.servbay.demo
adresini servbay.demo
ya yönlendirme:
server {
listen 80;
listen [::]:80;
server_name www.servbay.demo; # www alan adı dinleniyor
# Tüm istekleri www olmayan ana alan adına yönlendir, URI ve protokolü korur
return 301 $scheme://servbay.demo$request_uri;
}
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name servbay.demo; # www olmayan alan adı dinleniyor
# ... www olmayan sitenin normal yapılandırması ...
# ssl_certificate ...;
# ssl_certificate_key ...;
root /Applications/ServBay/www/your-servbay-demo-site;
index index.html index.htm index.php;
# ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Örnek 4: Belirli Yolu Yönlendirme (location
ve return
veya rewrite
ile)
Eski /old-path
adresini yeni /new-path
adresine yönlendirme:
server {
# ... diğer server yapılandırması ...
location = /old-path {
# Tam olarak /old-path adresini eşleştir, kalıcı olarak /new-path'e yönlendir
return 301 /new-path;
}
location /deprecated/ {
# /deprecated/ ile başlayan tüm istekleri geçici olarak /archive/ yoluna yönlendir
rewrite ^/deprecated/(.*)$ /archive/$1 temporary;
}
# ... diğer location blokları ...
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nginx Yönlendirme Tipleri
301
: Kalıcı yönlendirme.302
: Geçici yönlendirme.redirect
: 302 ile eşdeğerdir.permanent
: 301 ile eşdeğerdir.
Nginx .conf
dosyanızı kaydettikten sonra, ServBay yapılandırmayı otomatik olarak veya uyarı ile tekrar yükletebilir.
Dikkat Edilmesi Gerekenler
- Yapılandırma Dosyalarını Yedekleyin: Herhangi bir değiştirme yapmadan önce orijinal dosyanın bir yedeğini alın. Böylece gerekirse eski haline dönebilirsiniz.
- Sözdizimini Kontrol Edin: Dosyayı kaydettikten sonra sözdiziminin doğru olduğundan emin olun. ServBay genellikle kaydederken otomatik kontrol yapar ama elle kontrol etmek daha güvenlidir. Nginx için terminalde
nginx -t
komutunu kullanabilirsiniz (Nginx sistem PATH’inde ise veya ServBay terminali üzerinden). - Yönlendirmeleri Test Edin: Yapılandırdıktan sonra tarayıcıda yönlendirmelerin tüm varyasyonlarını test edin: www’lı ve www’sız, HTTP ve HTTPS, yönlendirdiğiniz özel yollar dâhil olmak üzere her durumu gözden geçirin.
- Tarayıcı Önbelleği: 301 kalıcı yönlendirmeler tarayıcıda önbelleğe alınır. Test sırasında 301 kurallarını sık değiştiriyorsanız önbellek sorunları yaşayabilirsiniz. Tarayıcı önbelleğini temizleyin veya gizli mod/developer araçlarında önbelleksiz deneyin. Geçici testlerde 302 yönlendirme tercih edilebilir; tamamlandığında 301’e çevrilebilir.
- ServBay Yeniden Yüklemesi: Dosyaları düzenledikten sonra ServBay’in web sunucu yapılandırmasını güncellediğinden emin olun. Genellikle bu işlem otomatik yapılır ya da arayüzde uyarı/butonu olur.
Sıkça Sorulan Sorular (SSS)
S: Yönlendirme ayarımı yaptım ama tarayıcıda yönlendirme olmuyor, neden?
C: Aşağıdaki sebepleri kontrol edin:
- Yapılandırma Dosyası Hatası: Dosyada sözdizim hatası olabilir ya da kaydetme sırasında hata oluşmuştur.
- ServBay Yüklemesi Yapılmadı: ServBay’in yeni yapılandırmayı aktif ettiğinden emin olun.
- Tarayıcı Önbelleği: Tarayıcı önbelleğini temizleyin veya gizli modu kullanarak deneyin.
- URL Kapsamı: Yönlendirme kuralınız ile istek yaptığınız URL/in tam olarak örtüştüğünden emin olun.
S: 301 ve 302 yönlendirme arasındaki fark nedir; yerel geliştirme için hangisi önerilir?
C: 301 yönlendirme kalıcıdır; tarayıcıya ve arama motorlarına kaynağın yeni adrese taşındığını bildirir, SEO açısından faydalıdır. 302 geçici yönlendirmedir; kaynak kısa süreliğine başka bir adrese taşınmıştır anlamındadır. Yerel geliştirme sırasında sadece geçici olarak test/deneme yapıyorsanız 302 önerilir, çünkü tarayıcıda önbelleğe alınmaz. Üretim senaryosunu simüle etmek veya kalıcı taşıma için 301 kullanılması uygundur.
S: Yapılandırma dosyasını değiştirdim ama ServBay hata veriyor veya web sunucusu başlamıyor, ne yapabilirim?
C: Genellikle bu tip hatalar yapılandırma dosyasındaki sözdizim hatasından kaynaklanır. Eklediğiniz veya değiştirdiğiniz satırları dikkatlice gözden geçirin ve Caddyfile/Nginx dökümantasyonuyla karşılaştırın. ServBay’in günlük (log) dosyasında daha detaylı hata mesajları bulabilirsiniz.
Özet
ServBay’de siteye yönlendirme eklemek, yerel geliştirme sırasında oldukça yaygın ve kullanışlı bir işlemdir ve doğrudan Caddy veya Nginx’in yapılandırma dosyalarını düzenleyerek yapılabilir. Üretim ortamını simüle etmek, HTTPS testleri veya URL yapısında değişiklik yapmak gibi senaryolarda Caddy için redir
, Nginx için ise return
/rewrite
komutlarını kullanabilmek hızlıca çözüm sunar. Yapılandırma sonrası mutlaka yeterli testleri yapın ve tarayıcı önbelleğinin etkisine dikkat edin.