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ÅŸ.