Htaccess Url Yönlendirme ve Kullanımı (Permalink) – Örnek Uygulama
21 Eylül 2012
9.471 kez okundu
12 yorum
Merhaba arkadaşlar, bu yazımda elimde var olan bir htaccess url yönlendirme örneğini paylaşacağım. Eğer konu hakkında fikriniz yok ise aşağıdaki yazıları okumanızı tavsiye ederim.
Örnek uygulama 2 adet php dosyası ve 1 adet .htaccess dosyasından oluşmaktadır.
index.php dosyamız
ayrinti.php dosyamiz
.htaccess dosyamız
Projenin kaynak kodlarını buradan indirebilirsiniz. Rar şifresi: www.kodmerkezi.net
Bunlara da Göz Atmak İsteyebilirsiniz.
Rica: Sitemizin Google'da daha üst sıralarda çıkması için lütfen alttaki Google+ veya Begen butonuna tıklayınız , ya da yazılarımızı Facebookta Paylaş butonu ile paylaşabilirsiniz.
Yazılarımızı okuyan okurlarımızın yorumlarını bizimle paylaşmaları, bizi daha çok yazı yazmaya teşvik edecektir. Lütfen yorumlarınızı, görüşlerinizi, eleştirilerinizi bizden esirgemeyin.
<<< Önceki: Temel Bilişim Teknolojileri Eğitimi E-Akademi Excel Soru ve Cevapları
Sonraki: Yazar olmak istiyorum! >>>
Localde çalıştığımda .htaccess kodlarınız 500 interval server error almama neden oluyor. bunun sebebi ne olabilir?
Merhaba,
local de htaccess kullanabilmek için şu ayarları yapmış olmanız gerekmektedir.
apache/conf/httpd.conf dosyasını açıp
#LoadModule rewrite_module modules/mod_rewrite.so
satırını bulup başında ki # işaretini kaldırın. Ardından aynı dosya içersinde
“allowoverride none” yazan yerleri “allowoverride all” olarak değiştirin.
Otomatik replace özelliği olan bi editörle yapmanızı tavsiye ederim çok sayıda var.
Son olarak apache kapatıp tekrar açın. Yine çalışmaz ise bilgisayara reset atın.
teşekkür ederim sorun çözüldü gerçekten güzel örnekler vermişsiniz her ayrıntıyı düşünmüşsünüz
Verdiğiniz kod Gerçekten çok faydalı oldu.
Fakat site.com/a/b/c/ çalışıyor.
ama site.com/a/b/c çalışmıyor.
bu sorunu nasıl çözebiliriz.
iyi çalışmalar
Naci,
Söylediğin durumu karşılayan (slahs ile bitmeyen 3 değişkenli url) bir expression olmadığı için çalışmaz. .htaccess dosyasına ilgili konuma şöyle bir satır daha eklemelisin.
RewriteRule ^(.*)/(.*)/(.*)$ ayrinti.php?adres=$1&islem=$2&secici=$3 [L,NC] //3 değişkenli için slashsız
Dostum çok teşekkür ederim. Süper bilgi paylaşmışsın. Çok işime yaradı…
Çok güzel bir paylaşım olmuş, Ellerinize sağlık.
Şöyle bir sorum olacak;
RewriteRule ^seflink-(.*)-(.*)-(.*)-$ ayrinti.php?adres=$1&islem=$2&secici=$3&sef=seflinkkler [L,NC] //3 deðiþkenli için
kısmı değiştirdim görüldüğü gibi. Linki de şöyle değiştirdim.
echo "Perma Link 3 Deðiþkenli";
$__GET [“sef”] ile yaklaıyorum.
Aslında problem yok çalışıyor. Yalnız link’teki a-b-c değerleri değişken içriği olduğu için(örenğin a yerine “kodmerkezi” yazarsak ekrana “kodmerkezi”geliyor)değiştirebiliyoruz. Ama “seflink” yerine farklı bir kelime yazkıdğımızda olay raydan çıkıyor. Bunun sebebi nedir?
İkinci soru bu seflink içerisine direkt olarak htaccess icerisinden atama yapmak yerine diğer değişkenler gibi özgür kılabilirmiyiz
Dursun,
Tabiki seflink’i de değişkene bağlayabilirsin, bunun için aynen diğerleri gibi seflink yazmak yerine (.*) kullanabilirsin.
Merhaba,
öncelikle yazı için teşekkürler,istedigim gibi hersey tam takır,ancak .html ile biten uzantıları nasıl ayarlıyoruz.veya localhost/ea3/a/b/c şeklinde değilde localhost/ea3/a-b-c şeklinde nasıl ayarlama yapabiliriz.
Ercan,
.html ile biten uzantılar için
RewriteRule ^(.*)/(.*)/(.*).html$ ayrinti.php?adres=$1&islem=$2&secici=$3 [L,NC] //sonunda .html olan 3 değişkenli için değişkenli için
ve diğer sorunuz için
RewriteRule ^(.*)/(.*)-(.*)/$ ayrinti.php?adres=$1&islem=$2&secici=$3 [L,NC] //3 değişkenli için
gibi kullanabilirsiniz.
Tşkler Fakat Ben Sadece Sitemdeki Link’lere Tıkladıklarında O siteye Degilde Benim Istedigim Siteye Yönlendirme Yapmak Istiyorum?
Benim şöyle bir sorunum var. GET ile tek deger aldığımda bir sorun yok ama 2 deger almaya çalıştığımda hata alıyorum kodlar aşağıdaki gibi.
//htaccess dosyası
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+).html$ index.php?cat=$1&page_name=$2 [L]
//index.php dosyası
$kategori = “hizmetler”;
$sayfa_adi = “seo”;
echo ““.”Yönlendir”.”“;
if($_GET[‘cat’] == “hizmetler” & $_GET[‘page_name’] == “seo”){
echo “Lorem ipsum dolor sit amet…”;
}
Bu şekilde yaptığımda aynı sayfada başka linkler varsa tıkladığında önüne hizmetler koyuyor, kaç kere tıklarsan her defasında önüne ekliyor. Bu link herhangibir klasöre yönlendirmiyecek aynı sayfada index.php sayfasında GET ile alınan değere göre içerik gösterilecek. Bunu nasıl yapabilirim?
Yorum Bırakın!
En Son Yazılanlar
Codeigniter Dersleri
Kategoriler
Teknoloji Haberleri
Android Dersleri
Arşiv
Sitemizin QR Kodu
Yeniliklerden İlk Sizin Haberiniz Olsun
KodMerkezi.Net Facebookta
En Çok Okunanlar
En Son Aranan Kelimeler
En Çok Oy Alanlar
Etiket Bulutu
İlginizi Çekecek Siteler
Arşiv
Yönetim
En Son Yapılan Yorumlar
En Çok Okunanlar