.Htaccess ile 301 yönlendirme ile web sitenizin bir linkini, bir kategorisini, bir statik sayfasını ya da tüm sitenizi yeni alan adınıza ya da yeni URL’ye yönlendirebilirsiniz. İlk aşama olarak tek bir linki nasıl yönlendirebileceğinize bakalım. 301 Redirects olarak da isimlendirilen bu yöntem webmasterların çok işine yaramaktadır. Aşağıda Htaccess ile yönlendirme kodlarını sıralamaya çalışacağız. İşletim sisteminiz vs. farklı olduğundan dolayı her htaccess kodu sunucunuzda çalışmayabilir ama aşağıdaki kodlardan bir tanesi mutlaka işinize yarayacaktır.
Redirect 301 /eski-link.html https://www.yesilseo.com/
Bu kodun anlamı şudur : /eski-link.html URL’sine gelenler https://www.yesilseo.com adresine yönlendirilecektir.
Ana Sayfayı yönlendirme :
Redirect 301 https://www.yesilseo.com
Sitenizin ana sayfasın https://www.yesilseo.com adresine yönlendirilecektir.
Tüm web sitenizi yeni domaine aktarma :
RewriteRule (.*) https://www.yesilseo.com/$1 [R=301,L]
Bu kod ile eski sitenizin tüm linkleri kayıp olmaksızın yeni domaine yönlendirilecektir.
www olmadan tüm siteyi yönlendirme :
RewriteCond %{HTTP_HOST} ^www.yesilseo.com [NC]
RewriteRule ^(.*)$ https://yesilseo.com/$1 [R=301,L]
www olarak yönlendirme :
RewriteCond %{HTTP_HOST} ^yesilseo.com [NC]
RewriteRule ^(.*)$ https://www.yesilseo.com/$1 [R=301,NC]
301 Htaccess yeniden yönlendirme
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^yesilseo.com [nc]
rewriterule ^(.*)$ https://www.yesilseo.com/$1 [r=301,nc]
301 ile www şeklinde kesin yönlendirme
Options +FollowSymlinks
RewriteEngine on
ReWriteCond %{HTTP_HOST} ^(www.)?eskisite.com$ [NC]
ReWriteRule ^(.*)$ http://www.yenisite.com/$1 [R=301,L]
Tek URL yönlendirme :
RewriteEngine On
RewriteRule ^eski-url.html(.*)$ /yeni-url.html [L,R=301]
Htaccess ile dosya uzantısı değiştirme :
RedirectMatch 301 (.*)\.html$ https://www.yesilseo.com$1.php
Htaccess ile index.php den ana sayfaya yönlendirme :
Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
Siteniz tek etki alanından yayın yapsın (https://www. şeklinde açılması için.)
#### www. kullanılan site yönlendirme kodu
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Siteniz tek etki alanından yayın yapsın (https:// şeklinde açılması için.)
#### www. kullanılmayan site yönlendirme kodu
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.siteadresi.com [NC]
RewriteRule ^(.*)$ http://siteadresi.com/$1 [L,R=301,NC]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Umarız işinize yaramıştır 🙂
Merhaba Aydın bey yazınızı okudum. Ama merak ettiğim bir konu var.
yesilseo.com
http://www. yesilseo.com
https://www. yesilseo.com
Şeklinde üç kanalda da çıkıyor websitemiz.
Bunun tamamını tam olarak bir adrese yönlendirmek için hangi kodu kullanmalıyız
Merhabalar Hasan bey, tercih ettiğiniz etki alanına göre aşağıdaki kodları .htaccess dosyasına ekleyebilirsiniz.
#### www. kullanılan site yönlendirme kodu
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#### www. kullanılmayan site yönlendirme kodu
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.com [NC]
RewriteRule ^(.*)$ http://site.com/$1 [L,R=301,NC]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Okuduğum en faydalı en nokta atışı örnekleri içeren bu faydalı ve öğretici içerik için çok teşekkürler Aydın Bey. işlerinizde başarılar dilerim.
Güzel düşünceleriniz için teşekkür ederim.
Faydalı olduğuna çok sevindim.
İyi çalışmalar.
Merhaba denedim olmadı sadece anasayfamı örneğin https://sayfalinki.com bunu başka bi yere alt sayfaları başka bi yere nasıl yönlendiririm?
Web sunucunuzun htaccess’i desteklediğinden emin misiniz ?
Bu kodlar apache ve litespeed web server’larda çalışmakta.
nginx web server’larda kodları dönüştürmeniz gerekmekte.
Bilgiler için teşekkürler hocam bir sorum olacaktı wordpress alt yapılı abc.com sitesini en düzgün bir şekilde abc.com/tr şeklinde yönlendirebilirim ve hangi yolları izlemem gerekiyor? Şimdiden teşekkürler
Konu siteden siteye değiştiği için tam yol haritası sunmam mümkün değil.
Taşınacak site analiz edilip ona göre bir çalışma planı çıkarılması mantıklı olacaktır.
[…] 301 yönlendirmeleriyle ilgili detaylı bilgi almak istiyorsanız “Tüm detaylarıyla .htaccess ile 301 yönlendirme” yazımızı […]
Merhaba,
bu şekilde bir linkin 301 yönlendirmesini nasıl yapabiliriz. https://www.yesilseo.com/?Page=6
Merhabalar Mehmet bey, tam olarak sorunuzu anlamadım.
Bahsettiğiniz linki nereye yönlendirmek istiyorsunuz?
Ayrıca sayfaların indekslenmesi uygun değildir, duplike içerik olarak algılanır.
Daha önce spam dolayısıyla alanadi.com/?Page=6 şeklinde google da index almış, serach console da dizine ekleme sorunları olarak listeleniyor, belirttiğim linki alanadi.com ana sayfasına yönlendirmek istiyorum.
RewriteRule ^?Page=6$ https://www.alanadi.com/ [L,R=301] bu şekilde çalışmıyor. Bu konuda yardımcı olmanızı rica ediyorum.
Şimdi anladım 🙂
Redirect 301 /?Page=6 http://alanadi.com/
Bunu deneyebilirsiniz. Eğer çalışmıyorsa sunucu yapılandırmanızdan kaynaklanıyordur. Nginx ya da litespeed webserver’ı olan sunucularda çalışmayabiliyor.
Çalışmadı 🙂 , ama çok teşekkür ederim vakit ayırdığınız için.
Ben teşekkür ederim 🙂
Başarılar, kolaylıklar diliyorum.