Çalışan bir sitede anlamlı link örnekleri ve giriş seviyesi .htaccess bilgileri
Anlamlı linkler deyimi size bir şey ifade etmiyorsa, "
Göze hoş gelen anlamlı linkler nedir?" başlıklı yazıyı okuyabilirsiniz. Eğer, anlam ifade ediyorsa aşağıdaki örnekleri okuyarak giriş seviyesi anlamlı link ve
.htaccess dosyasıyla pratik yapabilirsiniz.
Gerekli Şeyler
- Web sitenizin Apache sunucu üzerinde çalışması gerekir. Örneğin Gaxxi böyle bir sunucuda çalışıyor. Apache, çok yönlü, güçlü, esnek ve popüler bir sunucudur. Büyük olasılıkla sizin de siteniz bir Apache sunucusu üzerinde çalışıyor.
- Sunucunuzdaki ayarlarda modrewrite desteği aktif olmalı, ancak bu destek açık olursa "Anlamlı Linkler" tekniğini kullanabiliriz.
- .htaccess dosyanızı sitenizin ana dizinine göndermelisiniz. Genelde bu dizine göndermeniz alt klasörlere de aynı ayarların uygulanmasını sağlar. Bu yine sunucunuzdaki ayarlara bağlı olarak değişebilir.
Örnek
Satır 1-> RewriteEngine on
Satır 2-> RewriteRule ^kopek-irklari/(.*) /irklar.php?nedir=$1
Satır 3-> RewriteRule ^kaynakca.* kaynakca.php
Yukarıdaki örnek hali hazırda internette yayında olan www.evcilkopekler.com web sitesinin çalışan .htaccess dosyasıdır. Bu şekilde örnekteki satırları tek tek inceleyelim.
-
RewriteEngine on
Sunucuya anlamlı linkler tekniğine başladığımızı söylüyor.
-
RewriteRule ^kopek-irklari/(.*) /irklar.php?nedir=$1
İşte şimdi ilk gerçek anlamlı linkimizi yapmaya başladık. Anlamlı linkler olmasaydı www.evcilkopekler.com/irklar.php?nedir=kangal şeklinde çalışan link, www.evcilkopekler.com/kopek-irklari/kangal şeklinde çalışamazdı. Linkleri kontrol ederseniz aslında iki adresin de aynı sayfaları açtığını göreceksiniz. Buradaki can alıcı nokta, sitenizin gerçekte halen dinamik bir alt yapıyla çalışması, biz bunu anlamlı linklere çeviriyoruz. Kodunuzun çalışması için ihtiyacı olan değişkenleri ve değerleri Apache'nin yorumlamasını ve koda iletmesini sağlıyoruz. İfadenin birinci ^kopek-irklari bölümü irklar.php'nin çalışmasını sağlıyor. İfadenin ikinci bölümüyse gerekli değişkenleri ve değerleri dönüştürüyor, yani (.*) ifadesi nedir=kangal bölümüne değer taşıyor.
-
RewriteRule ^kaynakca.* kaynakca.php
Bu daha basit bir örnek. www.evcilkopekler.com/kaynakca yazdığınızda www.evcilkopekler.com/kaynakca.php çalışıyor. Linkleri kontrol ederseniz aslında iki adresin de aynı sayfaları açtığını göreceksiniz. Burada taşınan değişken ve değerler yok. Sadece ^kaynakca.* ifadesi kaynakca.php'ye işaret ediyor.
Gelen Yorumlar
Toplam 7 yorum,
1-7 arası gösteriliyor, yeni tarihliler sonda.
selam arkadaşlar.
Aşagıdaki .htaccess dosyasını root dizinine attığım zaman çalışıyor ama diğer dizinlere ulaşılamıyor.bunu için ne yapılması gerekiyor.bir el tarsanız sevinirim
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} !(main.php)
RewriteCond %{QUERY_STRING} !(direct)
RewriteRule (.*) main.php?page=$1 [PT]
RewriteCond %{QUERY_STRING} (direct)
RewriteRule (.*) $1 [PT]
sitenizi beğendim
cem kaan eklemiş. | 11 Ekim 2006 Saat
10:20
ya ben örnek istiyorummmmmmmmmm
YAAAAAA BEN RESİMLİ ÖENEK İSTİYOM BANA GÖNDEREBİLEN VARMI
örneğin Satır 3-> RewriteRule ^kaynakca.* kaynakca.php kısmını deniyorum fakat olmuyor
RewriteEngine on
RewriteRule ^a.* a.php
.htaccess dosyam bu şekilde ama olmadı bi yerde bi şey yapmam gerekiyor mu htconf da da düzeltme yaptım. biri yardım edebilri mi lütfenn
cok ıyı
mesut yucel eklemiş.
| 22 Ocak 2008 Saat
17:35
selam,
.htaccess dosyasında "RewriteRule ^kaynakca.* kaynakca.php" bunu denedim sorun yok fakat daha "RewriteRule ^kopek-irklari/(.*) /irklar.php?nedir=$1" bunu uygulayamıyorum başka yerlerde yapmam gereken değişikliklermi var??
en kısa zamanda yardımcı olursanız sevinirm...
merve eklemiş.
| 06 Temmuz 2008 Saat
23:53