Merhaba arkadaşlar. Bu makalemizde index.php sayfamız içinde 4 ayrı içerik gösterimi yapacağız. Tabiki amacımız bu değil. Asıl konumuz başlıkta da geçtiği üzere index.php?get=degerimiz şeklinde olan linkimizi google'ın ve kullanıcıların daha hoş karşılayacağı şekle getirmektir. Bunu anlatırken ayrı ayrı sayfalar oluşturup kafanızı karıştırmak istemedim. Bu sebeple tek sayfada bitireceğiz işi. Öncelikle php sayfamıza geçelim.
index.php
<html>
<head>
<style>
body{
font-family:Arial;
color:#000000;
}
a {
font-family:Tahoma;
color:#000000;
text-decoration:none;
}
a:hover{
text-decoration:underline;
color:#F8932B;
}
</style>
<title>
SEF Url
</title>
</head>
<body>
« <a href="anasayfa-bolumu.html">Anasayfa</a>
« <a href="forum-bolumu.html">Forum</a>
« <a href="blog-bolumu.html">Blog</a>
« <a href="ayar-bolumu.html">Ayarlar</a><br><br>
$gelen = $_GET['m'];
// gelen değer boşsa yani -bolumu.html şeklinde url girildiyse anasayfaya yönlendirdik.
if ($gelen == "")
{
echo '<script type="text/javascript">';
window.location = "anasayfa-bolumu.html"
</script>
}
//get metoduyla gönderilen değerin anasayfa ile aynı olup olmadığını kontrol ettik. Aynı şekilde aşağıdaki sorgularımızdada.
else if ($gelen == "anasayfa")
{
//anasayfa içeriği bu koşulun içine yazılır.
echo "Şuan Anasayfadayız!";
}else if ($gelen == "forum")
{
//forum sayfası içeriği bu koşulun içine yazılır.
echo "Şuan Forum Sayfasındayız!";
}else if ($gelen == "blog")
{
//blog sayfası içeriği bu koşulun içine yazılır.
echo "Şuan Blog Sayfasındayız!";
}
else if ($gelen == "ayar")
{
//ayarlar sayfası içeriği bu koşulun içine yazılır.
echo "Şuan Ayarlar Sayfasındayız!";
}
else {
// get ile gelen değer anasayfa, forum, blog, ayar ve null-boş değer değil ise ekranda aşağıdaki mesaj verilecektir.
echo "Böyle bir sayfa yoktur.";
}
</body>
</html>
Öncelikle html yapımızı oluşturduk. Sonrasında css ile yazıları ve linkleri düzenledik. Body etiketinin içine linklerimizi koyduk,anasayfa-bolumu.html şeklinde linkler verdik. Bu linkin gerçek anlamı index.php?m=anasayfa idir. Biz bu linki htaccess yardımıyla daha kullanılabilir hale getirdik. Şimdi gelelim php kodlarımıza. Burada kod aralarında da anlattığım üzere get ile gönderilen değeri bulup buna göre işlem yapıyoruz. Yani get ile gelen değer anasayfa ise anasayfa ile ilgili içerik koyuyoruz. Diğerlerinde de(blog, forum, ayarlar) aynı şeklinde get ile gelen değerleri kontrol ediyoruz. İlgili değere göre içerik koyuyoruz. İlk if ifademizde bir yönlendirme kullandık bunun amacı -bolumu.html şeklinde bir url girilirse get değeri girilmediği için herhangi bir değere ulaşamayız. Bu nedenle boş get değeri geldiğinde anasayfa-bolumu.html sayfasına yönlendirme yaptık. Son if ifademizde de anasayfa, forum, blog ve ayarlar yerine başka veri gönderildiğinde(Örnek : deneme-bolumu.html) 'Böyle bir sayfa yoktur' şeklinde uyarı verdik. Şimdi geçelim htaccess sayfamıza. " .htaccess " adında bir dosya oluşturup içine aşağıdaki kodları yazarak uygulamamızı tamamlamış oluruz. Bir sonraki makalede görüşmek üzere...
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)-bolumu.html index.php?m=$1
1 Yorum
Merhaba
Çok yararlı bir makale olmuş.