
Nginx Üzerinde 403 Uyarı Sayfası Tarayıcı Diline Göre Nasıl Özelleştirilir?
Web sitenizde, kullanıcıların tarayıcı diline göre özelleştirilmiş bir 403 Hata Sayfası göstermek, daha iyi bir kullanıcı deneyimi sunmanızı sağlar. Nginx, tarayıcı dilini algılayarak farklı dilde hata sayfaları sunmanıza olanak tanır. Bu işlem, Accept-Language
başlığını kullanarak yapılır.
Aşağıda, Nginx üzerinde tarayıcı diline göre 403 hata sayfasının nasıl özelleştirileceğini adım adım açıklayan bir rehber bulabilirsiniz.
1. Nginx Konfigürasyon Dosyasını Düzenleyin
Öncelikle Nginx’in ana konfigürasyon dosyasını veya sitenizin yapılandırma dosyasını düzenlemeniz gerekecek. Bu genellikle /etc/nginx/nginx.conf
ya da /etc/nginx/sites-available/default
gibi dizinlerde bulunur.
sudo nano /etc/nginx/sites-available/default
2. error_page
Yönergesi ile Hata Sayfası Tanımlayın
Her tarayıcı diline özel hata sayfalarını göstermek için, error_page
yönergesini kullanarak 403 hata durumunu yönlendireceksiniz.
Aşağıda, tarayıcı dilini algılayarak 403 hata sayfasının nasıl yönlendirileceğini gösteren bir örnek kod bulabilirsiniz:
server {
listen 80;
server_name example.com;
# Tarayıcı diline göre hata sayfası yönlendirmesi
location = /403.html {
default_type text/html;
root /var/www/html;
if ($http_accept_language ~* “^tr”) {
rewrite ^(.*)$ /tr/403.html break;
}
if ($http_accept_language ~* “^en”) {
rewrite ^(.*)$ /en/403.html break;
}
if ($http_accept_language ~* “^de”) {
rewrite ^(.*)$ /de/403.html break;
}
# Eğer dil eşleşmezse varsayılan 403 sayfası
rewrite ^(.*)$ /en/403.html break;
}
# 403 Hata durumu
error_page 403 /403.html;
location / {
root /var/www/html;
index index.html;
}
}
3. Hata Sayfalarını Oluşturun
Tarayıcı diline göre özelleştirilmiş 403 hata sayfalarını belirli dizinlere koymanız gerekiyor. Örneğin:
- Türkçe için
/var/www/html/tr/403.html
- İngilizce için
/var/www/html/en/403.html
- Almanca için
/var/www/html/de/403.html
Bu sayfalarda, her dile uygun özelleştirilmiş 403 hata mesajını gösterebilirsiniz.
4. Nginx Sunucusunu Yeniden Başlatın
Yapılandırma dosyasında değişiklik yaptıktan sonra, Nginx sunucusunu yeniden başlatmanız gerekecek.
sudo systemctl restart nginx
Bu işlem, yeni ayarların geçerli olmasını sağlayacaktır.
Hreflang Etiketleri ve SEO
Eğer bu hata sayfalarını SEO dostu yapmak istiyorsanız, sayfa içinde hreflang etiketleri kullanarak arama motorlarına hangi sayfanın hangi dile ait olduğunu bildirebilirsiniz.
<link rel=”alternate” href=”https://www.example.com/tr/403.html” hreflang=”tr”>
<link rel=”alternate” href=”https://www.example.com/en/403.html” hreflang=”en”>
<link rel=”alternate” href=”https://www.example.com/de/403.html” hreflang=”de”>
Bu işlem sayesinde, Nginx sunucunuzda tarayıcı diline göre özelleştirilmiş bir 403 hata sayfası gösterebilir ve ziyaretçilere daha iyi bir deneyim sunabilirsiniz. Aynı zamanda SEO açısından da kullanıcı dostu bir yapı oluşturmuş olursunuz.