IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   PHP (https://www.ircforumlari.net/php/)
-   -   PHP de .htaccess ile SEF sayfalama (https://www.ircforumlari.net/php/390624-php-de-htaccess-ile-sef-sayfalama.html)

Mudin 20 Nisan 2011 20:31

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:

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:


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:

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:

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:

<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.

Mudin 23 Nisan 2011 15:32

Cevap: PHP de .htaccess ile SEF sayfalama
 
İşte Türkçe karakter içeren başlıkları temizlemeniz için gereken fonksiyon:
Kod:

<?
function clear($r1) {
$rr1=array("ş","Ş","ı","ü","Ü","ö","Ö","ç","Ç","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü");
$dd=array("s","S","i","u","U","o","O","c","C","s","S","i","g","G","I","o","O","C","c","u","U");
$r1=str_replace($rr1,$dd,$r1);
$r1 = preg_replace("@[^a-z0-9\-_şıüğçİŞĞÜÇ]+@i","-",$r1);
return $r1;
}
?>

Kullanımı: clear($değişken)

ExceptioN 23 Nisan 2011 19:15

Cevap: PHP de .htaccess ile SEF sayfalama
 
Gayet açıklayıcı olmuş teşekkürler

OzGuR 18 Mayıs 2011 11:21

Cevap: PHP de .htaccess ile SEF sayfalama
 
Merhaba bu konuyu görünce yeni bir konu açma gereği duymadım , sorumu burada sorsam çok daha iyi olucak sanırım. sef link sorunu yaşamaktayım. linklerimden birini örnek vermek gerekirse ;

Sayfa.php?Git=iletisim


seflink örneğim ise ;

RewriteRule ^iletisim.html$ Sayfa.php?Git=iletisim


nerede yanlış veya hata yapıyorum çözemedim bir türlü yansıtamadım siteye. bunun yanında hiç bir hata v.b. bişeyde almıyorum. Herşey olduğu gibi duruyor :) Yardımcı olursanız çok sevinirim kolay gelsin.

0x94 22 Mayıs 2011 14:48

Cevap: PHP de .htaccess ile SEF sayfalama
 
Alıntı:

Snet Nickli Üyeden Alıntı (Mesaj 1040747148)
Merhaba bu konuyu görünce yeni bir konu açma gereği duymadım , sorumu burada sorsam çok daha iyi olucak sanırım. sef link sorunu yaşamaktayım. linklerimden birini örnek vermek gerekirse ;

Sayfa.php?Git=iletisim


seflink örneğim ise ;

RewriteRule ^iletisim.html$ Sayfa.php?Git=iletisim


nerede yanlış veya hata yapıyorum çözemedim bir türlü yansıtamadım siteye. bunun yanında hiç bir hata v.b. bişeyde almıyorum. Herşey olduğu gibi duruyor :) Yardımcı olursanız çok sevinirim kolay gelsin.

belli bir koşul olmadığı için

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^iletisim.html Sayfa.php?Git=iletisim [L,NC]

yapsanda olur.

Alıntı:

Mudin Nickli Üyeden Alıntı (Mesaj 1040728622)

Kod:

<a href="/<?php $row['konuid']."-".$row['baslik']; ?php>.html">

Mudin php taglari <?php ile açıldığı gibi ?php> ile kapatılmaz.

OzGuR 23 Mayıs 2011 00:06

Cevap: PHP de .htaccess ile SEF sayfalama
 
Sanırım makine ile alakalı bir sorun var onu kontrol edeyim olmazsa

Mudin 09 Haziran 2011 16:50

Cevap: PHP de .htaccess ile SEF sayfalama
 
Laf atılıcak yermi kalmadı birader? gözden kaçan bir yer olabilir insanlık halidir, hata yapmamızın nedenide insan olmamızdır bunu unutmayalım.

Düzeltildi.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 20:17.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk