Htaccess ile URL Yönlendirmesi Nasıl Yapılır?

Htaccess ile URL Yönlendirmesi Nasıl Yapılır?

Htaccess ile URL Yönlendirmesi Nasıl Yapılır?

Apache sunucularında Url yönlendirmesi yapmak için gerekli olan konfigürasyon (config) dosyası olan .htaccess (hypertext access) ile url yönlendirme konusunda büyük esneklikler sağlıyoruz.

Bu esnekliği kullanabilmek için Apache server ının mod_rewrite özelliğini kullanmamız gerekir. htaccess’in ne olduğunu bildiğinizi varsayarak konunun nedir sorusuna olan cevabını atlıyorum. (Eğer bilmiyorsanız Htaccess dosyaları göremiyorum)

Htaccess dosyasını açmak ve düzenlemek

İlk olarak dosyamızı bir kod editörü aracılığı ile açıyoruz. (Notepad’de kullanılabilir)

  • Dosya içinde kodların başına yazacağımız (#) işareti, o satırı pasifleştirmek için kullanılmaktadır.
  • RewriteEngine On: Bu komut ile url yönlendirmesini aktif hale getiriyoruz.
  • RewriteBase / : Bu kod ise yönlendirmemizin etkili olacağı klasörü göstermektedir.

Örnek: Sitemiz root klasörü yerine bir alt sayfada kuruluysa (yani www.siteadi.com/blog/ gibi) Bizim kodumuz RewriteBase /blog olmalıdır.

  • RewriteRule : Bu bizim asıl yönlendirme komutumuzdur. Hangi adresin hangi adrese yönlendirileceği bu komut ile belirlenir.

Komut örnekleri vermeden önce bilinmesi gereken bazı bilgiler burada verilmiştir.

Düzenli İfadeler

  • (.) Herhangi bir karakter olduğunu belirtir.
  • (?) 0 veya 1 tane olduğunu belirtir
  • (*) 0 ve daha büyük olabilidiğini belirtir
  • (^) Seçilecek ifadenin başlangıç noktasını belirtir
  • ($) Seçilecek olan ifadenin bitiş noktasını belirtir
  • () . veya ‘ gibi kod yapısında etkili olabilecek işaretleri normal karakter şeklinde güzekmesini sağlar.
  • NC: No Case – Büyük küçük harf duyarlılığını kaldırır

URL Yönlendirmesine Başlayalım

Bu konu en iyi şekilde örnekle anlaşılacağı için bundan sonrasını örnekle anlatmaya devam edeceğim.

Örneğin www.ilkteknoloji.com/url-yonlendirme.html dosyasını URL değişmeden arka planda www.ilkteknoloji.com/url-yonlendirme.php dosyasına yönlendirmek istersek aşağıdaki kodu yazmamız yeterlidir;


RewriteRule ^url-yonlendirme.html$ url-yonlendirme.php [NC]

Üstteki örnekte URL değişmeden bu uygulamanın çalışmasını sağladık, fakat URL’nin değişmesini istiyorsak kodun sonuna r=301 yönlendirmesini eklememiz gerekmektedir.


RewriteRule ^url-yonlendirme.html$ url-yonlendirme.php [r=301, NC]

Şimdide sitemizdeki bir konuyu başka bir siteye taşıdığımızı düşünelim ve ona göre Yönlendirme yapalım.


Redirect 301 /2013/htaccess-ile-url-yonlendirmesi-nasil-yapilir/ http://www.example.com/site/htaccess-ile-url-yonlendirmesi-nasil-yapilir/

İşte URL yönlendirmesi bu şekilde yapılmaktadır. Htaccess ile ilgili daha fazla bilgi için bu konu hakkında yazdığım diğer yazıları okuyabilirsiniz.

ITC | İlkteknoloji