folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder .Htaccess SEO İçin Regular Expression Sorunsalı. 2 Haftadır Sorunu Çözemedim!



.Htaccess SEO İçin Regular Expression Sorunsalı. 2 Haftadır Sorunu Çözemedim!

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Beyler 2 haftadır deniyorum yanılıyorum deniyorum yanılıyorum hala doğru yöntemi bulamadım. Şimdi sorunumdan bahsetmek istiyorum. Çoğu sayfası SEF bağlantı yapısı ile uygun bir sistem tasarlıyorum kullandığım düzenli ifadeler aşağıdaki gibidir...

    Options +FollowSymLinks
    RewriteEngine on

    RewriteRule ^([a-zA-Z]+)[/]$ index.php?sehir=$1 [L]
    RewriteRule ^isim[/](.*)[/]soyisim[/](.*)[^?](.*)$ index.php?isim=$1&soyisim=$2&$3 [L]
    RewriteRule ^isim[/](.*)[/]soyisim[/](.*)$ index.php?isim=$1&soyisim=$2 [L]

     

    1. Kuralda: www.siteismi.com/antalya/ yazdığımda 1. kuralım www.siteismi.com/index.php?sehir=antalya yönlendirmesi yapıyor bu konuda bir sıkıtım yok.

    3. Kuralda: www.siteismi.com/isim/dr/soyisim/kill yazdığımda www.siteismi.com/index.php?isim=dr&soyisim=kill yönlendirmesi yapıyor bu konudada bir sıkıntım yok.

    Şimdi yapamadığım olaya gelelim diyelim ki

    www.siteismi.com/isim/dr/soyisim/kill?goster=yorum&sayfa=2

    yazıldığında htaccess ile kill? işaretinden sonra yukarıda altı çizili kalın yeri yakalayıp şu şekilde rewrite yazmak istiyorum..

    www.siteismi.com/index.php?isim=dr&soyisim=kill&goster=yorum&sayfa=2

    Bunun için yazdığım 2. kural ve başarısızlıklarım hakkında şunu söyleyebilirim..

     

    ^isim[/](.*)[/]soyisim[/](.*)[^?](.*)$ index.php?isim=$1&soyisim=$2&$3 [L]

    normalde bu reg. exp. göre htaccess URL i yakalıyor. Ancak $3 olan veriyi hiçbir şekilde yazmıyor. Yani aşağıdaki gibi bir değiştirme yaptığımda...

     

    ^isim[/](.*)[/]soyisim[/](.*)[^?](.*)$ index.php?isim=$1&soyisim=$2baskabirseyler [L]

    www.siteismi.com/isim/dr/soyisim/kill?goster=yorum&sayfa=2

    Yukarıdaki adresi aşağıdaki adres olarak yeniden yazıyor.

    www.siteismi.com/index.php?isim=dr&soyisim=killbaskabirseyler

     

    ***************************************

    Ancak aşağıdaki gibi bir düzenli ifade ile maalesef son yakalama parantezi olan (.*) kısmını $3 ile yazmıyor

    ^isim[/](.*)[/]soyisim[/](.*)[^?](.*)$ index.php?isim=$1&soyisim=$2&$3 [L]

    www.siteismi.com/isim/dr/soyisim/kill?goster=yorum&sayfa=2

    Yukarıdaki adresi aşağıdaki gibi yazıyor..


    www.siteismi.com/index.php?isim=dr&soyisim=kill

     

     

     Bir örnek daha vereyim. Ekşi sözlükte biliyorsunuz SEF yapısı mevcut. Ancak bu yapı benim kullandığım gibi kullanabiliyorlar.

    Örnek konu başlığı

     

    https://eksisozluk.com/bilgisayar--34041?a=nice&p=2

     

     

    Bunu nasıl düzeltebilirim?


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    index.php dosyası

    <?php

    echo 'A degiskeni : '.$_GET['a'].'<br>B degiskeni : '.$_GET['b'];

    ?>

    .htaccess dosyası

    RewriteEngine on

     

    RewriteRule ^([a-zA-Z0-9_-]*)/$ index.php?a=$1 [QSA]

    örnek url

    blabla.com/deneme/?b=laylaylom

    html çıktısı

    A degiskeni : deneme
    B degiskeni : laylaylom

    yanisi

    [L] dersen istediği değişkenleri yakaladıktan sonra devamını sallamaz [QSA] dersen devamındaki değişkenleri de alır.


    agile isn’t how fast you can go, it’s how fast you can turn.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek
    Hybris bunu yazdı

    index.php dosyası

     

    .htaccess dosyası

    RewriteEngine on

     

    RewriteRule ^([a-zA-Z0-9_-]*)/$ index.php?a=$1 [QSA]

    örnek url

    blabla.com/deneme/?b=laylaylom

    html çıktısı

    A degiskeni : deneme
    B degiskeni : laylaylom

    yanisi

    [L] dersen istediği değişkenleri yakaladıktan sonra devamını sallamaz [QSA] dersen devamındaki değişkenleri de alır.

    Hocam çok saolasın bu FLAG ları çok önemsemiyordum açıkçası. Az önce baktım http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa adresinde dediğin gibi geri kalan query stringi otomatik yönelendirilen URL a yolluyor zaten. 2 haftadır boşa kafa yoruyormuşum. Şuraya sorsam boşa vakit harcamazdım.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
Toplam Hit: 1095 Toplam Mesaj: 3