Tekil Mesaj gösterimi
Alt 20 Nisan 2011, 20:31   #1
Çevrimdışı
Mudin
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
PHP de .htaccess ile SEF sayfalama




Merhaba arkadaşlar ,

bu benim ilk dersim olucağı için bir kaç yerde yalnışlar olabilir başlık tartışmaya açıktır eksik veya fazla olan bi yer görüldüğü takdirde PM yoluyla mesaj atabilirsiniz bana.

.htaccess'sin amacı bir çok yöndedir. Bu klasör ve dosyalarınızı şifrelemek , bloklamak , IP durumlarını engellemek içinde kullanılır. Biz sadece SEO kısmıyla ilgilenip, .php olan sayfalarımızı html ye dönüştürücez.


Öncelikle bir metin belgesinin adını .htaccess ile değiştirip uzantısındaki .txt bölümünü siliyoruz. Oluşturduğumuz .htaccess dosyamızı bir metin editörü ile (Notepad++,Yeni Metin Belgesi, vs) açıyoruz.

*UNUTMADAN: Apache modülünüzde rewrite engine ve rewrite modüllerinin açık olması gerekmektedir.


Oluşturduğumuz .htaccess dosyamızı zaten bir metin editörü ile açmıştık şimdi içerisine şunları yazıyoruz:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
DirectoryIndex index.php RewriteEngine On

Bu şekilde değişecek olan ve değişkenlerin geliceği olan sayfayı index.php olarak belirledik ve yazma izni verdik.

Bir php portalımızın varolduğunu varsayıyor ve sayfalarımızın browserda
index.php?islem=konu&url=1 olarak sayfalandığını varsayarak :
Değişecek olan kısım sayı ile belirttiğimiz 1 olan kısım bu 1'in anlamı ise databasedeki kayıt sırasına uygun olan konu yani ilk konu. Değiştireceğimiz yer orası olduğundan index.php?islem=konu&url= olan kısım sabit kalıyor , tümleşik olarak .htaccess dosyamıza yazmamız gereken kod ise :

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
RewriteRule ^(.*).html$ index.php?islem=konu&url=$1 [L]

şeklinde yazıyoruz. Toplamda .htaccess dosyamızın içerisinde şu kodlar sırası ile olmalı:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
RewriteEngine On DirectoryIndex index.php RewriteRule ^(.*).html$ index.php?islem=sayfa&urlsi=$1 [L]

bu şekilde olmalı.
Gelicek olan linkler 44.html 55.html gibi açılacaktır.
Peki biz bunu birde konuid-baslikadı.html olarak yapmak istesek nasıl yapıcaz ? şöyleki:
konular tablonuzun olduğunu varsayarak , eklediginiz konu baslıklarının içerisindeki

Türkçe karakterlerinide yoketmek için bir fonksiyon kullandığınızıda varsayıp yukarıdaki konu kodunu aşşağıdaki ile değiştiriyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
RewriteRule ^(.*)-(.*).html$ index.php?islem=sayfa&urlsi=$1 [L]

(.*) olan kısım değişecek olan kısmı anlatıyor ilki konuid'sini ikincisi ise databankanızdan çektiğiniz konud adı şeklinde olacaktır.

Anasayfanızda buna örnek olarak şu şekilde bir kullanım gösterebiliriz:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<a href="/<?php $row['konuid']."-".$row['baslik']; ?>.html">

şeklinde eklediğimiz takdirde linkimiz: /41-sigaraninzararlari.html gibi bir linke sahip olucaktır.

Unutulmamalıdırki baslik kısmı databankamızdan yani sql dan gelmekle beraber içerisinde Türkçe karakterleri filitreleyen bir kodu konu eklenirken çalıştırılmalı ve baslik sütünundaki bilgileri Türkçe karakter içermemelidir.

-

Şimdilik bu kadar ilerleyen günlerde bu filitreleme hakkında bir yazı yayınlıycağım.
Saygılarımla.


Konu Mudin tarafından (09 Haziran 2011 Saat 16:51 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver