Monster Notebook
 
Şimdi Üye Ol | Şifremi Unuttum
Ana SayfaSanalkurs.netProgramlarSanalkurs.netÖnemli SitelerSanalkurs.netYazarlarSanalkurs.netDers EkleSanalkurs.netE-DergiSanalkurs.netBlog Sanalkurs.netİletişimSanalkurs.netForum
 
Anasayfa » SEO (.htaccess) (15 ders)
 
htaccess ile Permalink

Yazar: Abdullah Tekin  
Eklenme: 20.10.2006   Okunma: 9481    Puan: 3.1   Seviyesi:  Orta
 
Adres çubuğunda gördüğünüz bir Permalink'tir. Yani normalde php dosyası olan bir içeriği html gibi gösterir. Bu şekilde yapmak sitenizin Google da üst sıralara tırmanmasını sağlayacaktır. Bunu nasıl yapıyoruz şimdi hep beraber görelim:

Veritabanından bir string oluşturduğunuzu varsayarak işleme başlıyorum. Örneğin elinizde bir derse ait başlık var.

$baslik = $row[baslik];


Yapmamız gereken yukarıdaki ders başlığını filtreden geçirerek türkçe karakterlerden ve zararlı kodlardan arındırmak. Bunuda şu şekilde yapıyoruz.

//  htaccess düzenlemeleri yapiliyor
$baslik = strtolower(stripslashes(strtr($baslik,"ÜŞÇİ?Öüöşçiğı?","USCIGOuoscigi,")));
$baslik = str_replace(" ","-",$baslik);


Burada TR karakterlerimizi temizledik ve başlıktaki boşlukların yerine - (çizgi) gelmesini sağladık. Biliyorsunuz Internet Explorer yada Firefox gibi tarayıcılar adres çubuğundaki boşluk yada tr karakterleri genelde görmezler. Bundaki amacımız buydu.

Başlığımıza filtre uyguladıktan sonra linkimizi verebiliriz. Örneğin ders kategorisi içindesiniz ve her bir dersin ID numarası var. Buradaki mantıkta aynı şekildedir. PHP içinde linkinizin normalde şöyle olduğunu varsayalım:

echo "<a href=\"ders_goster.php?id=$id\">";


Permalinkimiz içinde şu şekilde veriyoruz.

echo "<a href=\"$baslik-$id.html\">";


PHP içindeki linkimiz tamam şimdi ise Not Defterimizi açıyoruz ve şu kodlamayı yapıştırıyoruz.

RewriteEngine On
ReWriteRule ^(.*)-(.*).html ders_goster.php&id=$2-$1 [L,NC]


Dosyamızın adına .htaccess (hiç bir uzantı yok ve başında nokta var) vererek sitemizin root (kök) dizinine atıyoruz.

Orjinal dosyamızın adı ders_goster.php ve yanındaki ID ise ders numaramız.

Yapmış olduğumuz işlemle tarayıcımızı bir nevi kandırmış olduk. Arkadaşlar bu derste Permalink mantığını anlatmaya çalıştım. Siz buradaki kodları birebir uygulamaktan çok öncelikle mantığını kavrayınız ve sonra uygulamaya geçiniz.

Sonraki derste görüşmek ümidiyle,
BAŞARILAR
 

 

htaccess ile Permalink Dersini Yazdirin YAZDIR

"htaccess ile Permalink" dersi için 38 yorum var

08.08.2007 scottjr diyor ki:
Abdullah hocam peki bunu .html uzantısı yerine "/" şeklinde klasörleme şeklinde nasıl gösterebiliriz? Bir türlü halledemedim, apache hata veriyor.

08.08.2007 drweaver diyor ki:
htaccess içine şu şekilde ekleme yaparsanız klasör gibi görecektir.
[code]ReWriteRule ^([a-z0-9_-]+)$ index.php?username=$1 [L,NC][/code]

Örneğin burada "www.site.com/index.php?username=abdullahtekin şeklinde değer varsa www.site.com/abdullahtekin gibi bir klasör elde ediyoruz.

17.08.2007 nefisperest diyor ki:
çok yararlı bir ders olmuş. teşekkürler...

21.08.2007 dabulu diyor ki:
yararli aciklamalar icin tsk ederim. bir sorum olacak yardimci olursaniz sevinirim:

mesela bu sekilde linklerimiz varsa:

index.php?islem=yaz&id=$mesaj&nr=$nr

bunun tanimini acaba nasil yapmamiz lazim htaccess icinde?

selamlar,

24.10.2007 manyaq diyor ki:
Selam ders için teşekkür ederim ama ben birşey sormak istiyorum özellikle.

Şimdi kategori.php?id=3 diye bir sayfam var burdaki id=3 "PHP Dersleri" diye bir kategoriye gitsin diyelim... ben bunu perma link ile Kategori/PHP-DERSLERI diye yazdırabiliyorum fakat ben şöyle bir şey istiyorum acaba mumkün mü

Burda kategoriler subdomain olarak açıldın ve görülsün. Yani tıklanıldıgında Kategori/PHP-DERSLERI linkine değilde http://PHP.domain.com diye bir linke gitsin istiyorum acaba bu mümkün mü?

18.02.2008 linehosting diyor ki:
manyaq dediqini bende örenmek isterim

05.03.2008 fatmasevinç diyor ki:
Faydalı bi bilgi paylaşım için teşekkürler.

18.04.2008 erhan_06 diyor ki:
bunların asp ile ilgili olanı yokmu ? varsa anlatırmısın

29.04.2008 antiseptic diyor ki:
devamını bekliyoruz

05.05.2008 hasan_korkmazer diyor ki:
asp ile bu formasyonu nasıl yapabiliriz

09.05.2008 KoLGe diyor ki:
Ellerine saglik hocam. Kac zamandir SEO .htacces konusunu ogrenmeye calisiyorum. Dersliklerin ardini bekliyorum sabirsizlikla.

20.06.2008 yucel diyor ki:
mesela haber.php sayfam birde haber_icerik.php diye bi sayfam. haber.php de tıkladığım haber haber_icerik.php?id=12 gibi çıkıor. Ben bunu domain.com/haber/haberinbaşlığı.html şeklinde yapabilirmiyim......

01.07.2008 rootwarior diyor ki:
Yucel sanırım şu şekilde yapabilirsin tam bilmiyorum ama bir dene yanlışım var düzeltin arkadaşlar.

haber diye bir klasör oluştur.içine yeni bir .htaccess dosyası yap ve içine bu kodları yaz

RewriteEngine On
ReWriteRule ^(.*).html haber_icerik.php&id=$1 [L,NC]

Şöyle bir sayfadan geldiğini düşünürsek
haber_icerik.php?id=333 tabi haber_icerik.php sayfasını haber klasörüne koyman gerek bu şekilde haber/haberbasligi.html olabilir denemedim hatalarım olabilir sen bir dene

07.07.2008 T_r3x diyor ki:
asp de nasıl olacak?

10.07.2008 volcanoo diyor ki:
selamlar oncelikle ders cok yararlı oldu fakat ben bir turlu halledemedim birşeyi yardımcı olursanız cok mutlu olurum şimdi htaccess kodum bu

AddType application/x-httpd-php .html
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^Anasayfa.html$ index.php [L,NC]
ReWriteRule ^(.*)-(.*).html index.php?git=kategori&id=$1-$2 [L,NC]
ReWriteRule ^(.*)-(.*).html index.php?git=haberoku&id=$1-$2 [L,NC]
bu kod ilki için calışıyor fakat haber için çalışmıyor yani alttaki link icin calışmıyor

10.07.2008 volcanoo diyor ki:
bir yerde birşeyi de eksik yapmıyorum sayfa istedigim uzantıda acılıyor fakat sayfanın icerigi gelmiyor ve sanki ben onceki kodun id sini kullanmışım gibi bir sonuç geliyor bir turlu anlamadım eger yardımcı olursanız cok sevinirim kolay gelsin

11.07.2008 volcanoo diyor ki:
selamlar hocam birşey daha kesfettim ilk permalinki kaldırınca ikincisi calışıyor yeni bir permalink ekledigimde de tarayıcıda sadece id yazdırdıgım zaman oda calışıyor nedir anlamadım neden boyle yapıyor acaba bide ikisini beraber normal olarak kullandıgımda da ilk permalinkin icerigi geliyor diper permalinklerde ama sadece id yi yazdırdıgımda tarayıcıya herşey normal cok ilginc bir turlu cozemedim ben bunu yardımcı olursanız cok sevinirim

06.08.2008 askmilitani diyor ki:
bunun asp sistemde nasıl yaparız. bide o kısıma tüyo verseniz..

08.08.2008 rootwarior diyor ki:
Asp windows sunucuda çalışır.
Windows sunucudada .htaccess dosyası çalışmaz.Yapamassınız

10.09.2008 morphine39 diyor ki:
Hocam Sorum şu
index.php sayfasında images/dene.jpg diye bi dosya çağırıyoruz.
Seo linkimizi de kategori/12.html şeklinde veriyoruz.
Sadece resim kullanmadan text kullanmak istediğimizde bu çalışıyor ama borser da www.siteadi.com/kategori/12.html diye bişi olduunda bu sefer resim okuyamıyor. Bunu nasıl çözeriz bu konuda yardımınızı bekliyorumz

24.09.2008 AgResiFe diyor ki:
abi ben bir hazır cms sistem kullanıyorum bu konu hakkında bilginiz varmı peki oscommerce kullanıyom bunun uzantılarını nasıl html yaparım? bu konu ile ilgili makle varmı

26.11.2008 Lamekan diyor ki:
Dr.Weaver hocam,

elimizde

www.site.com/index.php?username=abdullahtekin
www.site.com/sayfa.php?username=abdullahtekin

diye iki adet bağlantı var diyelim ve klasör biçimindeki bağlantıları ikisine de uygulamak istersek ne yapmalıyız?

Lütfen yardım.

10.03.2009 sessizveda diyor ki:
....com/?s=yazilar&id=2 böle linki yapabilen arkdaşlar varsa yazabilirmi?

11.03.2009 sessizveda diyor ki:
...com/?s=yazilar&id=2 böle olan linki Permalink olarak nasıl yapabilirz demek istedim?

08.05.2009 armand diyor ki:
mesela ben <a href="/linkbudur" şeklinde gönderdiğim zaman linkbudur.html sayfası açılsın istiyorum.Tarayıcıda da www.siteadi.com/linkbudur şeklindede görünmesini istiyorum .. httacces kullanarak nasıl yapabilirim.Yardımcı olursanız sevinirim.

08.05.2009 drweaver diyor ki:
RewriteRule ^linkbudur/$ linkbudur.html [L]

29.07.2009 d0ntvery diyor ki:
.htaccess root kök dizin neresi oluyor hosting için

$yazi_adi = $sat['konuhead'];
$yazi_adi = strtolower(stripslashes(strtr($yazi_adi,"ÜŞÇİ?Öüöşçiğı?","USCIGOuoscigi,")));
$yazi_adi = str_replace(" ","-",$yazi_adi);

echo "<table width='400' border='0' bordercolor='#FFFFFF' align='left'>
<tr>
<td width='457' align='left'><a href=\"$yazi_adi-$no.html\">$tarih | $yazi_adi</a></td>
</tr>
</table><br>"."<br>";
}
}else
echo "Dersler Bulunamadı";
?>

.htaccess sayfanın bulunduğu dizine atım içinede sizin verdiğiniz kodu ekledim 1 ismini verdim bu .htaccess yerine hstinge atınca adını .htaccess eviriyorum .htaccess ismine çevrilen dsya kayboluyor yardımınızı bekliyorum.

30.11.2009 4ever001 diyor ki:

05.12.2009 Pierce_MVP diyor ki:
Elinize sağlık hocam son derece açıklayıcı oldu.Mantığıda gayet basit.

07.12.2009 masmavi_7 diyor ki:
yorumları neden göremiyorum

04.01.2010 Shroomz diyor ki:
Öncelikle bu güzel bilgilendirme için teşekkürler. Ben çok enteresan bir sorunla karşı karşıyayım ve ne denersem deneyeyim işin içinden çıkamadım.

Websitemde ki sayfaların hepsi /index.php/xxx.html gibi gözüküyor. Hem php hem de html kodu görüyorum devamlı. Direk php kod'a geri dönebiliyorum ancak buda hiç sağlıklı gelmedi bana.

.htaccess de herseyi denedim php uzantısını kaldıramadım, ya da uzantıları klasör gibi gösteremedim. Bilgisi olanlar arkadaşlar yardımcı olmaya çalışırsa çok memnun olurum. Birşeyi yanlış yapıyorum ama anlamadım. Şimdiden herkeze çok teşekkürler.

Site: www.forexedu.net

04.01.2010 Shroomz diyor ki:
Bende kendi yorumumu göremiyorum ya :(

05.02.2010 mhepekiz diyor ki:
Selamlar,
Benim de bu konuda bir sıkıntım var, http://tube.hepekiz.com adresinde clipshare uygulamasını test ediyorum.
htaccess dosyasında aşağıdaki şekilde bir tanımlama var

RewriteRule ^signup$ signup.php [L]

Buna rağmen adresin sonuna /signup eklediğimizde siz de görebilirsiniz ki php kodunu text gibi ekrana basıyor. Adresin sonuna .php eklerseniz signup.php olarak gayet sağlıklı bir şekilde çalışıyor ancak o zamanda form submit edildiğinde sorun çıkıyor. Deneme yanılma yaptım rule tanımlamasını şu şekilde değiştirdim :

RewriteRule ^sign$ signup.php [L]

Bu şekilde adresin sonuna /sign eklersek çalışıyor ancak link ve url aynı olunca bu şekilde kodu ekrana basıyor. Enteresan bir sorun gibi göründü herhangi bir şekilde yönlendirme yapabilirseniz sevinirim

23.04.2010 CyberScrape diyor ki:
$row diye kullandığımız nedir?
dersin id numarasını nereye yazacağız?

23.05.2010 meandme diyor ki:
Selam Hocam,

Yardımınıza ihtiyacım olan bir konu var. htaccess dosyasında sitemin linkini bu şekilden;
www.siteadi.com/My-Name-Is-Mary-Sutter-p165391.html

bu şekile nasıl getirebilirim.
www.siteadi.com/book/My-Name-Is-Mary-Sutter-p165391.html

htaccess dosyamın içeriği şöyle;

php_flag magic_quotes_gpc off
php_flag register_globals off

RewriteEngine on

RewriteRule ^.+-p([0-9]+).html$ index.php?p=Products&view=$1 [T=application/x-httpd-php]


#RewriteRule ^autocomplete?(.*) index.php?p=AutoComplete&$1 [T=application/x-httpd-php]
RewriteRule ^index.html$ index.php [T=application/x-httpd-php]
RewriteRule ^kitap-haberleri.html$ index.php?p=News [T=application/x-httpd-php]
RewriteRule ^kategoriler.html$ index.php?p=Categories [T=application/x-httpd-php]
RewriteRule ^yayinevleri.html$ index.php?p=Publishers&letter=A [T=application/x-httpd-php]
RewriteRule ^yayinevleri-(.+).html$ index.php?p=Publishers&letter=$1 [T=application/x-httpd-php]

Devamı diğer mesaj sayfasında

23.05.2010 meandme diyor ki:
Merhaba Hocam,

Sİtemin linkini htaccess dosyasında bu şekilden;
www.siteadi.com/my-name-is-mary-sutter-p241398.html

bu şekilde linke;
www.siteadi.com/book/my-name-is-mary-sutter-p241398.html

nasıl getirebilirim.

htacces dosyam şöyle;

php_flag magic_quotes_gpc off
php_flag register_globals off

RewriteEngine on

RewriteRule ^.+-p([0-9]+).html$ index.php?p=Products&view=$1 [T=application/x-httpd-php]


#RewriteRule ^autocomplete?(.*) index.php?p=AutoComplete&$1 [T=application/x-httpd-php]
RewriteRule ^index.html$ index.php [T=application/x-httpd-php]
RewriteRule ^kitap-haberleri.html$ index.php?p=News [T=application/x-httpd-php]
RewriteRule ^kategoriler.html$ index.php?p=Categories [T=application/x-httpd-php]
RewriteRule ^yayinevleri.html$ index.php?p=Publishers&letter=A [T=application/x-httpd-php]
RewriteRule ^yayinevleri-(.+).html$ index.php?p=Publishers&letter=$1 [T=application/x-httpd-php]
RewriteRule ^en-cok-satanlar(-(.+))?.html$

Devamı diğer mesaj kutusunda

20.07.2010 formosa diyor ki:
Her şeyi doğru yapmanıza rağmen permalink çalışmıyorsa yapabileceğim çıkarım şu: Yaptıklarınız doğru olabilir ama eksiktir. Bu benim de başıma geldi, neyse ki kafayı yemeden olayı çözdüm. Arkadaşlar şu sihirli kod işinizi görür.

RewriteBase /

Bu kadar :)
Özellikle 000Web**** (reklam olmasın) kullananlar bu uyarıya dikkat etsin.
Ayrıca satır sonlarındaki direktifler de çok önemli.
[L], [QSA], [OR]

  BU DERSE YORUM EKLEYİN

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS.net'te yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. Yazarlar, gönderdikleri makale ve derslerle başkalarını yanıltıcı bilgi veremezler. SANALKURS.net bilgilerin kullanımı sonucunda doğacak hata ve zararlardan sorumlu tutulamaz. SANALKURS.net'te yer alan bir makale link vermek ve kaynak göstermek şartıyla başka bir sitede yayınlanabilir. SANALKURS.net kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu hiçbir yazı, fotoğraf, resim vb. materyal ve ürünü kullanamazlar. SANALKURS.net kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri izinsiz kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 177 Ziyaretçi, 8 Üye
Charisma_47, siracel, Bym.ülkü, Gervinho, bozoklar, O-Lee, Keremel, NaRe_TuRKeY
Bugün: 842, Dün: 10154, Bu Ay: 21209, Toplam Ziyaret: 7227021, Toplam Üye: 216260, Son Üye: nur_cihan
Yazılı Dersler: 2460, Video Dersler: 408, Toplam Yazar: 64, Toplam Dosya: 53, Toplam Link: 26
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz