İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

.Htaccess ile SEF Url Yapımı

Cenk

0
İyinet Üyesi
Katılım
5 Mart 2010
Mesajlar
64
Reaction score
3
Konum
Ankara
Yazı Seoliz.com yazarı İbrahim Çakıcı'ya aittir.

SEF hakkında bilgi almak istiyorsanız alanında Türkiye’de ilk yazılardan olan SEF Nedir ve Avantajları yazısını okumalısınız. Htaccess (HyperText access) ile SEF bağlantı yapımından biraz bahsedelim.

seoliz.com/rastgele/seo/htaccess-ile-sef-url-yapimi-79.php dosyasını çalıştırmak için .php uzantı yerine .html uzantısı kullanacağız. Yani www.seoliz.com/htaccess-ile-sef-url-yapimi.htm olacak. Bunları yapmadan önce .htaccess dosyası içersinde kullanacağımız bir takım kodlardan bahsetmek isterim.

RewriteEngine On: Bağlantı yönlendirmesini aktif ediyoruz.

RewriteBase: Bağlantı yönlendirmemizin aktif olacağı klasörün adını yazıyoruz. Mesela tüm yönlendirmeler ana dizinde gerçekleşiyorsa / işaretini koymamız yeterli olacaktır. Varsayalım seo klasörü içersinde gerçekleşiyorsa /seo şeklinde yazmamız gerekli.

RewriteRule: Bağlantı yönlendirme kodumuz. Hangi sayfanın neye yönleneceğini belirteceğiz.

RewriteCond: RewriteRule içersinde kullandığımız bayraklara verilen ad. Örnek bayraklar: R=301, F, L, NC, QSA.

Şimdi de .htaccess içinde kullanabileceğimiz birkaç önemli düzenli ifadelerden bahsedeceğim.

* # İfadenin başında kullanıldığında o satırı yorum satırı olarak algılıyor.
* (.) Herhangi bir karakter olduğunu ifade eder.
* (+) İfadenin bir fazlasını belirtir. Önünde bir nokta kullanılarak bir karakter fazlası anlamında RewriteRule içersinde kullanılır.
* (?) Sıfır veya bir tane olduğunu belirtir.
* (*) Sıfır ve daha büyük olabildiğini belirtir.
* (^) Seçili ifadenin başlangıç noktasını belirtir.
* ($) Seçili ifadenin bitiş noktasını belirtir.
* (!) Not ifadesidir. Durumu olumsuza çevirir. Genelde RewriteCond parametreleriyle kullanılır.
* (\) Kod yapısını bozacak karakterleri normal görünüme çevirir. (Örnek: . veya ‘)
* (NC) (nocase) Büyük ya da küçük harf duyarlılığını kaldırır.

Örnek Kodlar

Kod:
1	RewriteEngine On
2	RewriteBase /
3	RewriteRule ^seoliz\.html$ seoliz.php [NC]

Buradaki işlev şudur: Anadizinde (RewriteBase /) seoliz.html adresini ziyaret ettiğimizde seoliz.php dosyası çalışacaktır. Ama adresteki görünüm seoliz.php değil de seoliz.html olacaktır.

1. seoliz.php?bolum=analiz&icerik=anahtarkelimeler
2. seoliz.php/analiz/anahtarkelimeler
Yukarıdaki string değişkenlerle oluşturulmuş birinci bağlantımızı gelin .htaccess kullanarak ikinci bağlantıdaki hale getirelim. Nasıl mı?

Kod:
1	RewriteEngine On
2	RewriteBase /
3	RewriteRule ^seoliz.php/(.+)/(.+)$ seoliz.php?bolum=$1&icerik=$2 [NC]

Öntanım: seoliz.html dosyasına girildiğinde seoliz.php dosyasının direkt olarak açılmasını istiyorum yani, seoliz.html dosyasının açılma işleminde seoliz.php dosyasına yönlensin. Bunu nasıl yapabiliriz?

Kod:
1	RewriteEngine On
2	RewriteBase /
3	RewriteRule ^seoliz\.html$ seoliz.php [R=301, NC]

3. satırdaki R=301, bir RewriteRule bayrağıdır. Buna RewriteCond deniliyor. İşlem bu bayrak ile gerçekleştiriliyor.

Çok sık karşılaşılan bir hata: mod_rewrite kullanımında RewriteBase / ifadesi .htaccess içersinde kullanılmazsa stil.css dosyalarınız hata verecektir.

URL ReWrite Müthiş Faydası: Bağlantılarınızdaki string değerlerin lamerlerce görülmeyip, herhangi bir işleme mağdur kalmamalarını sağlamaktadır.

Kaynak: http://www.seoliz.com/sef-search-engine-friendly-nedir-ve-avantajlari.htm
 

ImSoRy

0
İyinet Üyesi
Katılım
16 Nisan 2011
Mesajlar
174
Reaction score
6
Aradığım bir konuydu. Teşekkür ederim.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst