Texnik SEO · 2026-yil 14-oktabr · 2 daqiqa o‘qish
Nginx’da redirekt sozlash: sikl va ortiqcha zanjirlarsiz
Bu sahifa rus tilida: /blog/redirekt-v-nginx
Nginx VPS va bulutli serverlardagi saytlarda keng tarqalgan. Unda .htaccess yo‘q: barcha qoidalar konfiguratsiya fayllarida yoziladi va o‘zgarishdan keyin server qayta yuklanadi. Bu tartibni talab qiladi, lekin natijada redirektlar tez va oldindan aytib bo‘ladigan bo‘ladi.
Asosiy ko‘zgu va https
Eng toza yondashuv — har bir noasosiy variant uchun alohida server bloki, u faqat yo‘naltiradi:
server {
listen 80;
server_name example.uz www.example.uz;
return 301 https://example.uz$request_uri;
}
server {
listen 443 ssl;
server_name www.example.uz;
# sertifikat sozlamalari
return 301 https://example.uz$request_uri;
}Asosiy blokda esa faqat example.uz va 443-port bo‘ladi. $request_uri o‘zgaruvchisi yo‘l va parametrlarni saqlaydi, shuning uchun ichki sahifalar ham to‘g‘ri manzilga boradi. Har qanday variant bitta qadamda yakuniy manzilga tushadi.
Alohida sahifa
location = /eski-sahifa/ {
return 301 /yangi-sahifa/;
}Teng belgisi aniq moslikni bildiradi — faqat shu manzil yo‘naltiriladi. Location ichida return ishlatish rewrite’dan soddaroq va tezroq.
Bo‘limni ko‘chirish
location ^~ /news/ {
rewrite ^/news/(.*)$ /yangiliklar/$1 permanent;
}permanent kalit so‘zi 301 ni, redirect esa 302 ni beradi. Kalit so‘z ko‘rsatilmasa, rewrite foydalanuvchiga ko‘rinmaydigan ichki qayta yozish bajaradi — bu redirekt emas.
Ko‘p redirektlar uchun map
Sayt ko‘chishida yuzlab moslik bo‘lsa, ularni map blokida yozish qulay:
map $request_uri $yangi_manzil {
/eski-1/ /yangi-1/;
/eski-2/ /yangi-2/;
}
server {
if ($yangi_manzil) {
return 301 $yangi_manzil;
}
}Map alohida faylga chiqarilib, include orqali ulanishi mumkin. Ro‘yxatni jadvaldan avtomatik yaratish ham oson.
Sikllardan qanday qochish
- Redirekt bloki va asosiy blok bir xil server_name’ga ega bo‘lmasin
- Proksi yoki Cloudflare orqasida ishlasangiz, https’ni nginx emas, proksi bajarayotganini hisobga oling: nginx 80-portda so‘rov oladi va yana https’ga yo‘naltiradi — natijada cheksiz sikl
- if bloklarini location ichida murakkab mantiq uchun ishlatmang; server darajasidagi oddiy return xavfsiz
O‘zgarishlarni qo‘llash
- Konfiguratsiya nusxasini saqlang.
- Sintaksisni tekshiring: nginx -t.
- Faqat tekshiruv muvaffaqiyatli bo‘lsa, qayta yuklang: systemctl reload nginx (yoki tizimingizdagi analog).
- curl -I bilan asosiy variantlarni va yangi redirektlarni tekshiring.
reload xizmatni to‘xtatmaydi, shuning uchun mavjud ulanishlar uzilmaydi. restart esa qisqa uzilish berishi mumkin.
Docker va boshqaruv panellari
Sayt konteynerda ishlasa, konfiguratsiya ko‘pincha tom (volume) yoki obraz ichida turadi — o‘zgarish to‘g‘ri joyga yozilganiga ishonch hosil qiling, aks holda konteyner qayta yaratilganda redirektlar yo‘qoladi. Boshqaruv panellari esa o‘z shablonlariga ega va qo‘lda kiritilgan o‘zgarishlarni qayta yozishi mumkin — panel hujjatlarida qo‘shimcha qoidalar uchun ajratilgan faylni toping.
SEO auditiga ariza
Sayt manzili va telefon raqamingizni qoldiring — bog‘lanib, saytning qidiruvda o‘sishiga nima xalaqit berayotganini aytamiz.
Auditga buyurtma