.htaccess İle Yönlendirme Yöntemleri

.htaccess İle Yönlendirme Yöntemleri

Merhabalar,

Bu yazımda geçen gün  .htaccess ile yaşadığım bir yönlendirme sorunu üzerine açmayı düşündüm. Benim gibi sizlerinde uğraşmasını istemedim ve düzgün olarak temiz bir şekilde ve Türkçe olarak anlatan site ne yazık ki yok. Hepsi kodu vermiş, bununla yönlendirirsin demiş ve bırakmışlar. O kodun işlevini, ne amaçla kullanılacağını belirtmemiş bundan dolayı yaşadığım o ufak yönlendirme sorunu 1 saatimi aldı.

Araştırdığım, girdiğim birçok sitede hep aynı kodlar verilmiş ve neredeyse içerik birbiriyle aynı yani biri ondan almış,bir diğeri ondan almış kopyala yapıştır mantığı. Öyle ya da böyle kendi sorunumu kendi çözdüm diyebilirim. Bu .htaccess‘i daha net araştırmak için araştırmalar yaptım ve bulduğum bilgileri, anlayabildiğim kadar ve yararlı olacağını düşündüklerimi yazımda sizlere aktaracağım.

.htaccess Nedir ?

.htaccess, bir sunucu yapılandırma dosyasıdır. Linux işletim sistemlerinde ve apache işlemcisinde işlev görev bir sistem dosyasıdır. Bu dosya ile web siteleriniz rahatlıkla yönlendirmeler,direktifler verebiliyor ve aynı zamanda bir takım güvenlik işlemleri yapabiliyorsunuz. .htaccess dosyası sadece linux tabanlı web sunucularında işlem görmektedir. Windows sunucularında bulunmayan bir dosyadır.

Bu dosya ile web sitemizin url yapısını çok rahat bir şekilde değiştirebiliyor ve arama motorlarının istediği ve uygun gördüğü url yapısına rahatlıkla çevirebiliyoruz. Genelikle kullanım amacı basit yönlendirmeler, seo url yapısı oluşturma ve basit dizin koruması yapmak için kullanılmaktadır.

Önemli: .htaccess dosya gizli bir sunucu yapılandırma dosyasıdır. Bu dosyaya doğrudan erişim sağlanamaz,düzenlenemez. Sadece bazı yardımcı yazılımlar (FTP yazılımları) ile dosya görülebilir ve sadece sistem yöneticisi tarafından bu dosya düzenlenebilir. .htaccess çok önemli bir sistem dosyasıdır bu dosyayla kolayca yönlendirmeler ve güvenlik işlemleri yaparken sitenize zarar verebilecek işlemleride yapabiliyorsunuz düzenlemeler yaparken dikkatli olmanız önem arz etmektedir.

.htaccess Dosyası Nasıl Oluşturulur ?

Bir .htaccess dosyası oluşturmak için bilgisayarınızda bir metin belgesi oluşturmanız gerekiyor. Oluşturduğunuz metin belgesinin ismi  .htaccess.txt olacaktır. Bundan sonra bu oluşturduğunuz txt dosyasını, .htaccess dosyası olarak kullanmak istediğiniz web sitesinin FTP programı yardımıyla root/ana dizine yükleme yapıyorsunuz. Bu dosya ana dizine yüklendiği zaman dosya uzantısı olan .txt uzantısını silip dosyayı kaydediyorsun. Böylelikle bir .htaccess dosyası oluşturmuş oluyorsunuz.

Peki, bu dosyanın içeriğine ne yazabilirim ? Birçok şeyi yazabilirsiniz fakat bu yazımda sadece web site yönlendirme ve dizin yönlendirmeleri ile ilgili olduğu için sadece yönlendirme konusunda bilgi vereceğim. Daha detaylı bilgileri google amcada arama yaparak edinebilirsiniz. Belki ileride bende yazabilirim 🙂

.htaccess İle Yönlendirme Yöntemleri

Birden fazla yönlendirme yöntemi mevcuttur. En çok kullanılan ve sizlere yararlı olacağını düşündüğüm yönlendirme yöntemlerini bir araya getirip topladım ve yöntemler içinde gerekli açıklamaları ilave ettim.

1- 301 Kalıcı Yönlendirme Yöntemi

Bu yöntem genelikle bir web sitesinin tamamen başka bir alan adına (domaine) yönlendirmek için kullanılmaktadır. Yani, siteadi.com adlı bir web siteniz var ve siz bunu komple başka bir alan adına yönlendirmek fakat daha önceki sitenizde ki verilerinizin, indexlerinizin yeni alan adınıza yönlenmesini istiyorsunuz bunun içinde kesin olarak yönlendirme yaparak bütün verilerinizin ve kullanıcılarınızın yeni alan adınıza yönlendirmek için bu yöntemi kullanabilirsiniz.

Bu yöntem siteadi.com olan web sitenizi siteadiyenisi.net olana kalıcı olarak yönlendirme yapmak için kullanılmaktadır.

.htaccess dosyasına aşağıda ki kodu girmeniz ve dosyayı kaydetmeniz yeterlidir. Başka kodlarınız var ise ve 301 yapmak istiyorsanız tüm kodları silin ve sadece bu verdiğim kodu ekleyin yeterlidir.

2- 302 Geçici Yönlendirme Yöntemi

Bu yöntem 301 ile aynı mantıkta fakat eski sitenizi daha sonra geri geldiğinizde aynı düzeyde kullanmak için bu yönlendirmeyi tercih edin. Yani, sitenizi bir başka alan adına yönlendirniz fakat istediğiniz gibi bir sonuç alamadınız ve eski alan adınıza dönmek ve herşeyi aynı kalıp devam ettirmek istiyorsanız yapacağınız işlem 302 yönlendirme yöntemidir. Eski siteniz, yeni sitenize yönlenecektir fakat arama motorlarında eski siteniz halen duracaktır. Seo amaçlı bu yöntemi kullanabilirsiniz.

Böyle bir yönlendirme yapmak istiyorsanız .htaccess dosyasına aşağıda ki kodu girmeniz yeterlidir.

3. Bir Dosyayı Bir Klasöre Yönlendirme Yöntemi

Bu yöntem, sitenizde ki bir dosyayı bir klasöre yönlendirmek için kullanılır. Örneğin, index.html dosyasını  indexdosyalari adlı bir klasöre yönlendirme yapmak istiyorsunuz. Yani, tarayıcısına siteadi.com/index.html diye giriş yapan birisini belirlediğiniz klasörü açmasını istiyorsanız .htaccess dosyasına ekleyeceğiniz kod aşağıdadır.

4. Eski Klasördeki Dosyayı Yeni Klasördeki Dosyaya Yönlendirme Yöntemi

Yöntemin adı biraz kafa karıştı gelebilir ancak ingilizce olarak Old File Path to New File Path Redirect olarak geçiyor türkçeye tercüme ettiğimde böyle uzun bir isim çıkıyor yapacak birşey yok, açıklamaya gayret edeceğim.

Bir dosyanız var index.html adında ve bu dosyanız huseyin adlı bir klasörün içerisinde yer alıyor. Fakat, bu dosya artık eskidi ve yeni bir hali mevcut. Eski haline giren kullanıcıları yeni haline yönlendirmek istiyorsunuz eskini kaybetmeden. Bunun içinde .htaccess dosyanıza eklemeniz gereken kod aşağıdadır.

5. Sabit Bir Sayfaya Yönlendirme Yöntemi

Bu yöntem sitenize giriş yapan bir kullanıcının belirli bir sayfayı direkt olarak görmesini istiyorsanız kullanacağınız yöntem budur. Yani sitenize giren bir kişi index.html dosyasını değilde anasayfa.html dosyasını görmesini istiyorsanız .htaccess dosyasına eklemeniz kod aşağıdadır.

Bu yönteme şu şekilde isimlendirebilirdim; “sabit anasayfa belirleme yöntemi”. Bu şekilde daha net anlaşılır sanırım 🙂

Bu yönlendirme yöntemleri sadece basit olarak ve .htaccess kendi bünyesinde gelen sabit komutlardır. Birde bu işin mod_rewrite adlı apache modülünü kullanarak yapılan .htaccess dosyasını çok daha gelişmiş bir şekilde kullanmamız sağlayan yönlendirme yöntemleri mevcuttur. Bu yöntemleri başka bir yazımda detaya girerek anlatacağım.

İşin daha da karışıklaştığı kısım burada başlıyor diyebilirim yazı uzun oldu bu yüzden okurken kafanız çok fazla karışmaması adına bu yazıyı bu kadarı ile bitiriyorum part 2 olarak yazacağım yazıda ise mod_rewrite ile yönlendirme yöntemlerini ve .htaccess dosyasını detaylı inceleyeceğiz.

Bir önceki yazım olan Sürekli Proje Üretip Bu Projeden Vazgeçme Nedenleri başlıklı yazımı da okumanızı tavsiye ederim.