21
Jul/09
0

url karde$ligi

efenim site yapmayla kodla modla ugra$an arkada$lara bi guzelligimiz olsun.
bilen bilir user friendly url denen terane, alem-i internetin evliya celebisi hz. google tarafindan bilakis sevilmektedirler. neden mi bahsediyorum? hani bi siteye girdiginizde domain.com/bu-cok-guzel-bir-yazi $eklinde adresleri goruyorsunuz ya onlardan i$te. en basitinden wordpress destekli zamazimde bile var.
gelelim bunlarin nasil yapildigina.
diyelim ki http://www.sitemiz.com/sayfa.php?haber=1 $eklinde bir sayfamiz olsun. bu dinamik bir sayfa oldugu icin arama motorlarinin botlari tarafindan kolayca algilanamaz. ayrica arama sorgularinda url icinde yapilan aramalarda cikmaz. ciksa da parametresiz direkt adreslere gore daha du$uk onceliklidir. cunku url icinde konuya ait bir kelime icermeyecegi icin indekslenen tum sayfalar haber=2342, haber=343434 gibi anlamsiz olacaktir.
peki ayni sayfa http://www.sitemiz.com/genel/selam $eklinde olsa daha bi guzel daha bi evla olur degil mi? evet abi.
oncelikle kodumuzu yaziyoruz. hemen ornek bir kac satir yazayim sizin icin. siz kendi kodunuza gore duzenleyin.
<?
// bu degi$kenleri veritabanindan alacaksiniz bilmukabele
$kategori = “genel”;
$baslik = “selam”;
$haber = “1″;
?>
<a href=”sayfa.php?haber=<?=$haber?>”>normal url</a>
<br>
<a href=”<?=$kategori?>/<?=$baslik?>,<?=$haber?>.html”>friendly url</a>
bu dosyayi mesela index.php olarak kaydedin.
gordugunuz gibi sayfa.php’ye giden 2 tane linkimiz var. birisi normal sayfa.php uzerindeki haber degi$kenine onceden belirledigimiz 1 degerini get metodu ile gonderiyor.
ikinci linkimiz ise yapmak istedigimiz $ekilde arkada$ canlisi url olarak hazirlanmi$ vaziyette. yani linkimiz $oyle olacak:
http://site.com/genel/selam,1.html
hemen sayfa.php’nin de icerigini yazalim;
<?
if ($_GET[haber] == “1″) { echo “aferim canim”; }
else { echo “olmadi cigerim”; }
?>
gordugunuz gibi haber degi$keni 1 degerinde gelirse aferim alicaz. gelmezse ayar alicaz.
$imdi .htaccess dosyamizi buna gore duzenleyelim.
RewriteEngine on
RewriteRule ^(.*),(.*)\.html$ sayfa.php?haber=$2 [L]
$imdi bu uc sayfayi sunucunuza gonderip index.php’yi acin.
dikkat etmeniz gereken kodunuzda belirlediginiz friendly url tarzina gore kodunuzdaki linkleri ayarlamak. selam,1.html kismindaki , karakterine dikkat ettiyseniz .htaccess icinde de onu haber degi$keninden onceki ayrac olacak kullandigimi gormu$sunuzdur. siz de kendi kodlama stilinize gore / veya _ gibi ayraclar kullanabilirsiniz. veya rewrite url ile ilgili dokumanlara goz gezdirerek daha farkli kodlama bicimleri geli$tirebilirsiniz.
hemen kucuk bir not. rewrite url tersi de gecerli olan bir kuraldir. yani sayfamiz artik genel/selam,1.html olarak cali$ir ama ayni $ekilde sayfa.php?haber=1 $eklinde de cali$maya devam eder.
ispanyadan kiz alinmaz..

efenim web programlamayla ugra$an arkada$lara bi guzelligimiz olsun.

bilen bilir user friendly url denen terane, alem-i internetin evliya celebisi hz. google tarafindan bilakis sevilmektedirler. neden mi bahsediyorum? hani bi siteye girdiginizde domain.com/bu-cok-guzel-bir-yazi $eklinde adresleri goruyorsunuz ya onlardan i$te.

gelelim bunlarin nasil yapildigina.

diyelim ki http://www.sitemiz.com/sayfa.php?haber=1 $eklinde bir sayfamiz olsun. bu dinamik bir sayfa oldugu icin arama motorlarinin botlari tarafindan kolayca algilanamaz. ayrica arama sorgularinda url icinde yapilan aramalarda cikmaz. ciksa da parametresiz direkt adreslere gore daha du$uk onceliklidir. cunku url icinde konuya ait bir kelime icermeyecegi icin indekslenen tum sayfalar haber=2342, haber=343434 gibi anlamsiz olacaktir.

peki ayni sayfa http://www.sitemiz.com/genel/selam $eklinde olsa daha bi guzel daha bi evla olur degil mi? evet abi.

oncelikle kodumuzu yaziyoruz. hemen ornek bir kac satir yazayim sizin icin. siz kendi kodunuza gore duzenleyin.

<?

// bu degi$kenleri veritabanindan alacaksiniz bilmukabele

$kategori = “genel”;

$baslik = “selam”;

$haber = “1″;

?>

<a href=”sayfa.php?haber=<?=$haber?>”>normal url</a>

<br>

<a href=”<?=$kategori?>/<?=$baslik?>,<?=$haber?>.html”>friendly url</a>

bu dosyayi mesela index.php olarak kaydedin.

gordugunuz gibi sayfa.php’ye giden 2 tane linkimiz var. birisi normal sayfa.php uzerindeki haber degi$kenine onceden belirledigimiz 1 degerini get metodu ile gonderiyor.

ikinci linkimiz ise yapmak istedigimiz $ekilde arkada$ canlisi url olarak hazirlanmi$ vaziyette. yani linkimiz $oyle olacak:

http://site.com/genel/selam,1.html

hemen sayfa.php’nin de icerigini yazalim;

<?

if ($_GET[haber] == “1″) { echo “aferim canim”; }

else { echo “olmadi cigerim”; }

?>

gordugunuz gibi haber degi$keni 1 degerinde gelirse aferim alicaz. gelmezse ayar alicaz.

$imdi .htaccess dosyamizi buna gore duzenleyelim.

RewriteEngine on

RewriteRule ^(.*),(.*)\.html$ sayfa.php?haber=$2 [L]

$imdi bu uc sayfayi sunucunuza gonderip index.php’yi acin.

dikkat etmeniz gereken kodunuzda belirlediginiz friendly url tarzina gore kodunuzdaki linkleri ayarlamak. selam,1.html kismindaki , karakterine dikkat ettiyseniz .htaccess icinde de onu haber degi$keninden onceki ayrac olacak kullandigimi gormu$sunuzdur. siz de kendi kodlama stilinize gore / veya _ gibi ayraclar kullanabilirsiniz. veya rewrite url ile ilgili dokumanlara goz gezdirerek daha farkli kodlama bicimleri geli$tirebilirsiniz.

hemen kucuk bir not. rewrite url tersi de gecerli olan bir kuraldir (vice versa olayi).
yani sayfamiz artik genel/selam,1.html olarak cali$ir ama ayni $ekilde sayfa.php?haber=1 $eklinde de cali$maya devam eder.

ispanyadan kiz alinmaz..

Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.