Php htaccess ile Url Rewriting Seo Url Yapımı (Permalink)

adminAnasayfa, Web Tasarım, Yazılım9 Yorum29 Aralık 2019



Php projelerinizde urllerinizin anlamlı ifadeler oluşturması ve google vs. arama motorları ile seo kuralları ile uyumlu urller oluşturabilmesi için ayrıca sql injection ‘dan korunabilmek için url rewriting yapmak gereklidir. Kendi kullanmış olduğum .htaccess yöntemini sizinle paylaşmak istiyorum.

Önce bir .htaccess dosyası oluşturmamız gerekiyor ve bu dosyayı notepad veya sublimetext yada notepad++ gibi bir program kullanarak .htaccess olarak olusturabilirsiniz.

Oluşturduğumuz .htaccess dosyası içerisine kodlarımızı yazalım. index.php hakkimizda.php ve hizmetlerimiz.php?id=1 gibi linklerimizin olduğunu düşünelim.



.htaccss dosyası;

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(css|js|images|inc|lang)

//Sabit sayfalar için oluşturmamız gereken yapı aşağıdaki gibidir.(anasayfa yazdığımızda index.php sayfasını çağır)

RewriteRule ^anasayfa/? index.php [NC,L]
RewriteRule ^hakkimizda/? hakkimizda.php [NC,L]

// Dinamik sayfalar için  0-9 ve a-z arasındaki karakterler için ([0-9a-zA-Z-_]+) bu yapıyı ve id=1 icin  0-9 arası rakamlardan oluşan karakterler seçilmeli ([0-9]+) bu şekilde oluşturup hizmetlerimiz.php?id= sayfasını çağırmalıyız.

RewriteRule ^hizmetlerimiz/([0-9a-zA-Z-_]+)/([0-9]+)? hizmetlerimiz.php?id=$2 [L,QSA]

 

.htaccess dosyamızı oluşturduk sıra bize lazım olan urllerdeki Türkçe karakterlerimizden kurtulmak icin bir fonksiyon gerekli hazır yazılmış fonksiyonları kullanabiliriz. Arama motorunda seo fonksiyon şekilde aratıp bulabiliriz fakat ben şimdi o fonksiyonu sizinle paylaşacağım…



Sayfanın başına veya bir fonksiyon dosyası oluşturup projeye include edin.

<?php
function seo($s) {
	$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',' ',',','?');
	$eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','','');
	$s = str_replace($tr,$eng,$s);
	$s = strtolower($s);
	$s = preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $s);
	$s = preg_replace('/\s+/', '-', $s);
	$s = preg_replace('|-+|', '-', $s);
	$s = preg_replace('/#/', '', $s);
	$s = str_replace('.', '', $s);
	$s = trim($s, '-');
	return $s;
} 

?>

 

index.php icin <a href=”anasayfa” >Anasayfa</a>  şeklinde çağırabilirsiniz. ortaya cıkan sonuç url http://sayfadi.com/anasayfa



Dinamik sayfalar için  MySqlden veri çektiğimizi düşünürsek;

<?php $hizmetsor=mysqli_query($baglan,"select * from hizmet");
while ($hizmetcek=mysqli_fetch_assoc($hizmetcek)) {?>

<a href="hizmetlerimiz/<?=seo($hizmetcek["baslik"]).'/'.$hizmetcek["hizmet_id"]?>">Hizmet Başlık</a>
<?php } ?>
 

Şeklinde belirtilen sayfayı çekebilirsiniz. Ortaya cıkan sonuc url http://sayfadi.com/hizmetlerimiz/hizmet-adi/1 şeklinde bir link oluşacaktır.

En son olarak <head></head> tagları arasına <base href=”http://siteadi.com” /> oluşturalım.

Yaptığımız işlemleri sırası ile yaparsak sayfalarımıza hem dinamik hemde SEO uyumlu bir yapı içerisinde linkler oluşturabilriz.

Umarım faydası olmuştur.



Etiketler: , , , , , , , , , , , , , , , ,

Php htaccess ile Url Rewriting Seo Url Yapımı (Permalink) Hakkında Yapılan Yorumlar

  1. adana oto kiralama dedi ki:

    I think that is among the such a lot important information for me.
    And i am happy studying your article. However should observation on few
    basic issues, The web site style is great, the articles is actually great : D.
    Good activity, cheers

  2. RETaaa dedi ki:

    SELAM ÇOKİYİ

  3. Salim S. dedi ki:

    Merhabalar, paylaşımınız için teşekkür ederim.

  4. serkan dedi ki:

    eski bir konu ama ben yeni başladım ve bu yukarıda yazılanı yaptım
    2 sorun var.

    1. linkin sonunda id numarası var bunun olmasını istemiyorum.
    2. çektiğim sayfa sanki css dosyası çalışmıyormuş gibi hiç bir şey görüntülenmiyor yazılar haricinde. yani görsellik 0

    sorunu nasıl çözeebilirim.

  5. admin dedi ki:

    Head tagları arasında base kullanırsan sorunun ortadan kalkacaktır. Css’leri görecektir.

    Hizmet idsi göndermek istemiyorsan onu farklı bir methotla göndermen gerekcektir.

  6. slot88 dedi ki:

    Hi my family member! I wish to say that this article
    is amazing, nice written and include approximately
    all significant infos. I would like to see extra posts like this .

  7. Bilal Kadıköy dedi ki:

    Merhaba,acaba bu yöntem ile gönderilen verileri daha sonra

    if isset($_GET){
    $degisken = $_GET[‘gettteki_veri’];
    }

    şeklinde sorunsuz alabiliyor muyuz?

  8. admin dedi ki:

    anladığım kadarıyla id url de göstermek istemiyorsun. onu farklı bir methot kullanarak yapmanız gerekli bu yöntem için geçerli değil daha önce denemedim ihtiyaçta duymadım.

  9. Onur dedi ki:

    URL de id göstermek istemiyorsanız okuyun…

    Veritabanı tablonuzda “url” isminde bir sütun oluşturun ve bu kısıma eklediğiniz içerik “php-seo-uyumlu-link” gibi olsun. Boşluk veya Türkçe karakter kullanmayın.

    .htaccess dosyamızda eklenecek kod
    RewriteRule ^konu/([0-9a-zA-Z-_]+)? konu.php?url=$url [L,QSA]

    Konu.php de içeriği veritabanından çekmek için kullanacağımız kodlar

    prepare(“SELECT * FROM tablo Where url=:url LIMIT 1”);
    $sorgu->execute([‘url’ => $_GET[“url”]]);
    foreach ($sorgu as $yaz) {

    echo $yaz[‘baslik’];
    }
    ? >

    Önemli Uyarı: siteadi.com/konu/php-seo-uyumlu-link url yapısı bu şekilde olacaktır. Anasayfada konulara link verirken bu yapıya uymazsanız sayfa beyaz gözükür.
    İd sütunundan veri çeker gibii url sütunundan veri çekilcek işin özeti bu.

Php htaccess ile Url Rewriting Seo Url Yapımı (Permalink) Hakkında Yorum Yaz

Sponsor Reklam Bigmoni Sponsor Reklam Sponsor Reklam Sponsor Reklam
Galaxy S5 (SM-G900F) Android 6.0.1 Marshmallow Yükleme

Galaxy S5 (SM-G900F) Android 6.0.1 Marshmallow Yükleme

Galaxy S 5 Orjinal Rom Yükleme Galaxy S5 Telefonlar için

admin18 Yorum25 Mayıs 2016
Php htaccess ile Url Rewriting Seo Url Yapımı (Permalink)

Php htaccess ile Url Rewriting Seo Url Yapımı (Permalink)

Php projelerinizde urllerinizin anlamlı ifadeler oluşturması ve google vs. arama

admin9 Yorum29 Aralık 2019
Ücretsiz (Free) WordPress Blog ve Magazin Temaları

Ücretsiz (Free) WordPress Blog ve Magazin Temaları

  Günümüzde her 10 siteden 8 i wordpress kullanılarak yapılmaktadır.Her

admin5 Yorum15 Ekim 2016
Web siteleri için en iyi seo nedir? Ne kadar önemlidir?

Web siteleri için en iyi seo nedir? Ne kadar önemlidir?

Web siteleri için en iyi seo nedir? Öncelikle SEO’nun ne

admin4 Yorum14 Nisan 2016
Basit Bir Youtube Mp3 İndirme Scripti

Basit Bir Youtube Mp3 İndirme Scripti

Bir Sitenin api’si kullanılarak yazılan basit bir video to Mp3

admin4 Yorum16 Nisan 2016
Web sayfalarının işletmeler için önemi nedir?

Web sayfalarının işletmeler için önemi nedir?

Web siteleri işletmeler için önemlidir çünkü çağımızda internet, tüketicilerin bilgiye

admin0 Yorum21 Eylül 2023
Yandex Kurumsal Mail Alternatif Bulundu

Yandex Kurumsal Mail Alternatif Bulundu

Yandex Kurumsal Mail Alternatif Bulundu Bildiğiniz gibi Yandex kurumsal maillerde

admin0 Yorum22 Nisan 2023
Yandex Kurumsal Mail Limitleri

Yandex Kurumsal Mail Limitleri

Yandex Kurumsal Mail Limitleri Yandex Kurumsal Mail ve diğer mail

admin0 Yorum29 Ekim 2022
IOS 16 Iphone 14 Ekran Arka planları Wallpaper

IOS 16 Iphone 14 Ekran Arka planları Wallpaper

Ios 16 ile beraber gelecek olan ekran arka planlarını sizlerle

admin0 Yorum11 Eylül 2022
Windows 10 Başlat Menüsü ve wifi gibi kısımlarında klavye tuşlarının basmama çalışmama  sorunu çözümü

Windows 10 Başlat Menüsü ve wifi gibi kısımlarında klavye tuşlarının basmama çalışmama sorunu çözümü

Başlat menüsünü kullanarak bir çok arama yaparak programlarımıza ve kısayollarına

admin0 Yorum28 Nisan 2022
TimothyCes
interesting post
Onur
URL de id göstermek istemiyorsanız okuyun... Veritabanı tablonuzda "url" isminde bir sütun oluşturun ve bu kısıma eklediğiniz içerik "php-seo-uyumlu-link" gibi…
admin
anladığım kadarıyla id url de göstermek istemiyorsun. onu farklı bir methot kullanarak yapmanız gerekli bu yöntem için geçerli değil daha…
Bilal Kadıköy
Merhaba,acaba bu yöntem ile gönderilen verileri daha sonra if isset($_GET){ $degisken = $_GET['gettteki_veri']; } şeklinde sorunsuz alabiliyor muyuz?
sd kart disk yazmaya karşı korumalı windows 7
Eres un genio. Muchas gracias Saludos