REKLAM ALANI

PHP SEO ve kullanıcı dostu bağlantılar oluşturma

PHP SEO ve kullanıcı dostu bağlantılar oluşturma

avatar TRWebmaster
Aktif Üye
308
#1
Yorumu Paylaş

Htaccess’in en popüler kullanım alanlarından birisi budur. Ve sizin de en sevdiğiniz özelliklerinden birisi olacağına inanıyorum.
Bu olayı kullanmanın 2 ideal yöntemi var; birincisi önceden öğrendiğimiz GET metodu ile sayfa.php?sayfa=iletisim şeklinde, ya da POST metodu gibi “REQUEST_URI” ile kullanmak. Hangisi kolayınıza geliyorsa onu seçebilirsiniz fakat benim favorim “REQUEST_URI”den yana.

 
Yöntem 1: GET metodu kullanarak yapmak.

Öncelikle bir içerik sayfa.php‘miz olsun ve örnek amaçlı switch ile sayfaları tanımlayalım:
PHP Kod:
if(!isset($_GET['sayfa'])) { // eğer boşsa anasayfa varsayalım.
   $sayfa 'anasayfa';
} else {
   $sayfa $_GET['sayfa'];
}
 
switch($sayfa) {
case 
'iletisim':
   echo '<h2>İletişim</h2>';
   echo '<p>Bize [email protected] adresinden ulaşın!</p>';
   echo '<p><a href="/">Anasayfa</a></p>';
   break;
 
case 'hakkinda':
   echo '<h2>Hakkında</h2>';
   echo '<p>Bizi tanıyan tanır, yeniler örnek alır, tanımayanlar ibret alır.</p>';
   echo '<p><a href="/">Anasayfa</a></p>';
   break;
 
case 'anasayfa':
   echo '<h2>Sitemize hoşgeldiniz!</h2>';
   echo '<p><a href="/hakkinda">Hakkında</a><br/>';
   echo '<a href="/iletisim">İletişim</a></p>';
   break;
 
default: // hiç birisi değilse 404 varsayalim
   echo '<h2>Bulunamadı!</h2>';
   echo '<p>Böyle bir sayfamız henüz yok, değiştirilmiş ya da silinmiş olabilir.</p>';


Şuan htaccess kullanmadan bu sayfamızı “sayfa.php, sayfa.php?sayfa=hakkinda, sayfa.php?sayfa=iletisim” şeklinde kullanabiliriz. Şimdi gelelim bunu kullanıcı dostu yapmamıza, bu kısımda kod kısmımızda herhangi bir şey değiştirmemize gerek yok.
 
Sitemizin ana dizinine “.htaccess” adında dosya oluşturuyoruz. Eğer FTP programınız ya da işletim sisteminiz böyle bir dosya oluşturmanıza izin vermiyorsa, not defterinden boş bir sayfa açıp kodları içerisine yazıp, farklı kaydet diyip, “Tüm dosyalar” seçeneğini seçip “.htaccess” yazıp bu dosyayı oluşturabilirsiniz.
 
İçerisine şu satırları yazıyoruz:
PHP Kod:
RewriteEngine On
RewriteBase 
/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteRule 
^(.*)$ sayfa.php?sayfa=$[QSA,L

Bu işlemi yaptıktan sonra Htaccess; kullanıcılar eğer olmayan bir sayfaya girmeye çalışırlarsa, yani normalde /hakkinda ya da /iletisim gibi bir dizinimiz olmadığı için, 404 hata sayfasına değil de bizim sayfa.php dosyamıza yönlendirecek.
 
Fakat yönlendirirken girilmiş olan sayfayı bizim dosyamıza “sayfa” GET parametresi olarak gönderek. Yani bu şekilde site.com/deneme diye girildiğinde arkaplanda çalışacak olan sayfa “site.com/sayfa.php?sayfa=deneme” olacaktır.
 
Sonuç olarak yine aynı sistem çalışsa da kullanıcılar artık php dosyalarının adını ya da diğer GET parametresi uzantılarını yazmasına gerek kalmadan temiz ve akılda kalıcı bağlantılarla sitenizde gezebiliyor.

 
Yöntem 2: REQUEST_URI ile yapmak.

Diğer yöntemden tek farkı $_GET[‘sayfa’] yerine girilen adresi $_SERVER[‘REQUEST_URI’] ile okuyoruz. Fakat burada bize ilk baştaki “/” işaretini de veriyor (“/hakkinda” şeklinde). Bunun için ilk karekteri substr fonksiyonu ile atlıyoruz.
Yani kod kısmımızın ilk 5 satırını şöyle değiştireceğiz:
PHP Kod:
$sayfa substr($_SERVER['REQUEST_URI'], 1); // ilk "/" karakterini atlıyoruz.
if(!empty($sayfa)) { // eğer boşsa anasayfa varsayalım.
   $sayfa 'anasayfa';


.htaccess dosyamızda da bu yöntem için bir satırlık değişiklik yapıyoruz, GET parametresi tanımladığımız kısmı siliyoruz:
PHP Kod:
RewriteRule ^(.*)$ sayfa.php?sayfa=$[QSA,L]
// yerine
RewriteRule ^(.*)$ sayfa.php [L
deneme
Aktif Üye

Konuda Ara

0 Yorum


Konuyu Okuyanlar: