Htaccess Kullanarak 301 Web Sitelerini Yönlendirme
301 yönlendirmeleri için htaccess dosyası aracılığıyla kullanabileceğimiz birçok kural vardır. Yönlendirmenin kendisini yapmak, bir URL’yi başka bir URL’ye mükemmel bir şekilde yönlendireceğiniz anlamına gelir. Bu arada 301, yönlendirmenin kalıcı olacağı anlamına gelir.
Gerçekler, Redirect 301’in web sitesi SEO’su için çok güvenli olduğunu ve ayrıca 404 hata sorunlarının çözümünde de çok etkili olduğunu söylüyor. Peki htaccess dosyasını kullanarak bir web sitesinde 301 yönlendirmesini nasıl kullanırsınız? Özellikle WordPress tabanlı web siteleri için.
Htaccess Dosyası Nedir?
.htaccess dosyası veya Köprü Metni Erişimi, Apache sunucusundaki tüm web sitesi etkinliklerini kontrol edebilen bir yapılandırma metin dosyasıdır. .htaccess dosyasını web sitesinin kök dizininde görebilirsiniz. Özellikle kullanıyorsanız WordPress, Joomla, Drupal. Bu .htaccess dosyası, kuralları kullanarak sunucuya özel talimatlar ekleme işlevi görür.
Htaccess’te 301 Yönlendirme Kuralları
.htaccess dosyasını düzenlemek için sunucu dizinine girmeniz gerekir. Bundan sonra dosyayı bir metin düzenleyiciyle açın. Bana göre en iyi programlardan biri Filezilla FTP ile entegre olabilen Notepad++’dır. Açıldıktan sonra istediğiniz komut kodunu yazmanız yeterlidir. Htaccess’te yönlendirme yapmak için kullanabileceğimiz komutlar veya kurallar aşağıdadır.
![301 htaccess yönlendirme kodu](https://yasir252.com.tr/wp-content/uploads/2024/03/1709828669_495_Htaccess-Kullanarak-301-Web-Sitelerini-Yonlendirme.jpg)
1. Tek Sayfayı Başka Bir URL’ye Yönlendirin
Redirect 301 /pagename/ http://www.domain.com/halaman-lain/
2. 301 Sitenin Tamamını Yeni Alan Adına Yönlendirin
Redirect 301 / http://www.domain.com/
3. 301 Tüm Siteyi Alt Klasöre Yönlendirin
Redirect 301 / http://www.domain.com/subfolder/
4. 301 Alt Klasörlerini Başka Bir Etki Alanına Yönlendirin
Redirect 301 /subfolder http://www.domain.com/
5. Eski Etki Alanından Yeni Etki Alanına Yönlendirmeyi Yeniden Yazma
RewriteEngine on RewriteBase / RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
6. www olmayan alt alan adından www alt alanına yeniden yazma
RewriteEngine on RewriteBase / rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
7. Etki alanı alt dizinle www konumuna yönlendirilsin mi?
RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
8. HTTP sitelerini HTTPS’ye yönlendirin
RewriteEngine on RewriteCond %{HTTPS} on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
9. index.php veya index.html’yi Kök Etki Alanına silin
RewriteEngine On RewriteCond %{THE_REQUEST} /index.php HTTP [NC] RewriteRule (.*)index.php$ /$1 [R=301,L]
RewriteEngine On RewriteCond %{THE_REQUEST} /index.html HTTP [NC] RewriteRule (.*)index.html$ /$1 [R=301,L]
10. URL Sorgu Parametrelerini Dizin Köküne Yönlendirin
Örnek : http://www.coba.com/index.php?id=100 haline gelmek http://www.coba.com/100/
RewriteEngine On RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
11. URL Kategori Parametrelerini Dizin Köküne Yönlendirin
Örnek : http://www.coba.com/index.php?category=balık ile http://www.coba.com/category/fish/
RewriteEngine On RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]
12. Blog Alt Alan Adını Blog Alt Dizinine Yeniden Yazın?
Örnek : blog.oldsite.com gidiyor www.newsite.com/blog/
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI}/ blog RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]
13. Dizini başka bir Dizine Yönlendirin
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-directory/(.*)$ $1/new-directory/$2 [R,L]