Reklam

Browsing Tag

basit örnekler sef

SEO / SEF

Basit Örnekler – SEO

Bu bölümde sizi çok fazla RegEx (Regular Expressions – Düzenli İfadeler) bilgilerine boğarak kafanızı karıştırmak istemediğim için basitten zora doğru örnekler ile ilerlemek istiyorum. Bunun için öncelikle manuel olarak (elle) adres bilgilerini değiştirerek uygulamalar gerçekleştireceğiz ve ardından veritabanından okuma yaparak basit bir blog yapısını incelemiş olacağız.

Vakit kaybetmeden hemen uygulamaya başlayalım. Öncelikle oluşturmuş olduğunuz .htaccess dosyasına aşağıdaki ifadeleri eklemenizi istiyorum.
[php]Options +FollowSymlinks

RewriteEngine On

RewriteRule ^ornek_adres.html$ index.php [L,NC][/php]
Yukarıdaki örnek ile, eğer adres satırına /ornek_adres.html yazılırsa bu bağlantı için index.php dosyasının çalıştırılmasını sağlayacak yönlendirme kuralını belirtiyoruz. Denemek için basit bir index sayfası oluşturalım. Aşağıdaki komutları kullanarak index.php dosyanızı oluşturabilirsiniz.
[php snippet=”1″][/php]

Ve uygulamayı test etmek için adres çubuğuna http://127.0.0.1/ornek_adres.html yazın. Xampp kök dizininde (c:\xampp\htdocs) çalıştığım için ben direkt yukarıdaki adres yapısını kullandım. Yukarıdaki kodları denediğimde aşağıdaki gibi sonu elde ettim. Sizde de benzer sonuçlar olmalıdır. Farklı adresler (/index.php hariç) denediğinizde hata alacaksınız.

Ekran Çıktısı : Burası index.php Sayfasıdır.

Gerçekten de ornek_adres.html olmamasına rağmen .htaccess dosyası beni index.php dosyasına yönlendirdi. Eğer uygulamayı başarılı bir şekilde çalıştırdıysanız, artık olayı yavaş yavaş anlıyor olmalısınız. Şimdi biraz daha işi geliştirelim ve sanki bir dizin varmış gibi nasıl kullanırız, onu öğrenelim. .htaccess dosyanızın içeriğini aşağıdaki şekilde değiştirin.

Yukarıdaki örnek için index.php dosyasında herhangi bir değişiklik yapmamıza gerek yok . Şuan uygulamamız doğru çalışıp çalışmadığını kontrol ediyoruz ve olayın mantığını algılamaya çalışıyoruz. Bu sefer adres çubuğuna http://localhost/bir_klasor/ornek_adres.html yazdığımda beni yine index.php dosyasına yönlendirmesi gerekmekte.

Ekran Çıktısı : Burası index.php Sayfasıdır.

Yukarıdaki örnekte linke dikkat ederseniz gerçekten yine beni index.php dosyasına yönlendirdi. Tamam yönlendirme oluyor da adres çubuğundaki değerleri nasıl okuyacağız değil mi ? Yine başa dönerek basitten başlayarak ilerleyelim. Bu kez de .htaccess dosyasını aşağıdaki biçimde yeniden güncelleyin.

Yukarıdaki komutlara dikkat ederseniz, ornek_adres tanımlamasını parantezler arasına aldım ve daha sonra yönlendirme yaparken index.php?sayfa=$1 olarak tanımladım. İşte parantez içinde yer alan bu ifadeyi örüntü olarak tanımladım ve $1 isimli değişkende tutmuş oldum. Böylece index.php dosyasına yönlendirme yaparken sayfa değişkeni ile birlikte bu değeri taşımış olacağım.

Şimdi bu değişkeni index.php‘ye yönlendirdiğimiz için index.php dosyasında bir takım yeni eklemeler yaparak gelen değişkenleri görüntüleyelim. Daha önce oluşturmuş olduğunuz index.php dosyasını aşağıdaki biçimde yeniden güncelleyin.

Yönlendirme işleminde index.php?sayfa=$1 şeklinde değer taşıdığımızdan bu yöntem ile değer taşımaya daha önceden GET metodu olarak isim vermiştik. Bu yüzden bu şekilde gönderilen ifadelere PHP’nin $_GET küresel fonksiyonu ile erişebiliriz. Şimdi uygulamayı yeniden çalıştıralım. Adres çubuğuna http://localhost/ornek_adres.html yazdığımda elde ettiğim sonuç aşağıdaki gibi oldu.

Ekran Çıktısı : Burası index.php Sayfasıdır. Array  (  [sayfa] => ornek_adres )

Çıktıya dikkat edin. $_GET metoduyla bir değişken taşınmış gerçekten. İstersem kod içerisinde bu değişkene $_GET[“sayfa”] komutu ile erişebilirim. Ama acele etmeyin, bunların hepsini yapacağız.

Manuel olarak son bir örnek daha yaparak artık dinamik olarak bu işlemleri nasıl gerçekleştirebileceğimize başlayacağız. Daha önce klasör olarak yaptığımız adres yapısındaki iki değişkeni taşımak için .htaccess dosyasını aşağıdaki şekilde güncelleyin.

Yukarıdaki ilk satırdaki RewriteRule bir önceki uygulamamızda olduğu gibi aynı şekilde duruyor. İkinci olarak belirttiğimiz yönlendirme kuralında dikkat ederseniz, iki farklı adres değişkeni olduğundan iki farklı durum için parantez ile bir_klasor ve ornek_adres değerlerini kapsüle aldık. Sıralamadan dolayı $1 değişkeni bir_klasor değerini ve $2 değişkeni ise; ornek_adres değerini ifade edecek. Bu halde uygulamayı çalıştırmak için adres çubuğuna http://localhost/bir_klasor/ornek_adres.html yazıyorum ve elde ettiğim sonuç aşağıdaki gibi oldu.

Ekran Görüntüsü : Burası index.php Sayfasıdır. Array ( [dizin] => bir_klasor [sayfa] => ornek_adres )