• 14-12-2009, 00:03:22
    #1
    Merhaba.
    Tinyurl gibi bi script yapmaya çalışıyorum.
    Domain.com/abcd gibi kısaltıcak tinyurl'da olduğu gibi.
    Htaccess'den başka çözüm yolu gelmedi aklıma.

    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    Kullandım. Fakat böyle olduğunda da domain.com/go.php veya index.php girdiğimde bunu da rewriterule içine alıyor sanki kısaltılmış url imiş gibi.

    Valla aklıma bişey gelmedi. RewriteRule den index.php'yi çıkartabilmek gibi bi kod var mı? Yani index.php gibi bir sayfa açılmaya çalışıldığında rewrite içine almasın gibi..
    Umarım anlatabilmişimdir derdimi.
    Çözüm yolu önerebilcek var mı içinizde?
    (Kısaltma şekli Domain.com/abcd olacak şekilde)

    Şimdiden teşekkür ederim.
  • 14-12-2009, 00:35:36
    #2
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    yerine
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    RewriteRule ^/ index.php [L]
    Bu şekilde dene istersen.
    yada

    RewriteRule ^(.*)$.html go.php?id=$1 [L,NC]
    olarak yazıp sayfa.html ve index.php olarak kullanabilrsiniz...
  • 14-12-2009, 00:37:59
    #3
    sanırım aşağıdaki işinizi görür, $_SERVER['QUERY_STRING'] ile değişkenleri almanız lazım.

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^.* go.php?
  • 14-12-2009, 01:11:43
    #4
    hgumus, cevabınız için teşekkür ederim.
    #Options +FollowSymLinks
    RewriteEngine On
    
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    RewriteRule ^/ index.php [L]
    RewriteRule ^/ go.php [L]
    Olarak denedim, çalışmadı. index.php'ye girdiğim gibi go.php'ye geçti.

    victories, cevabınız için teşekkür ederim, fakat dediklerinizi bilmediğim üzere anlayamadım, deneyemedim (:
  • 14-12-2009, 01:15:52
    #5
    go.php dosyanıza

    $url = $_SERVER['QUERY_STRING'];
    ekleyin,

    verdiğim htaccess kodunu kullandığınızda istenen dosya adı serverda varsa o çağrılır yoksa go.php?dosyaadi şeklinde işlem görür.

    örneğini divxklip.com/ adresinde görebilirsiniz. adresin sonuna kafanıza göre birşeyler yazın
  • 14-12-2009, 10:23:01
    #6
    victories adlı üyeden alıntı: mesajı görüntüle
    go.php dosyanıza

    $url = $_SERVER['QUERY_STRING'];
    ekleyin,

    verdiğim htaccess kodunu kullandığınızda istenen dosya adı serverda varsa o çağrılır yoksa go.php?dosyaadi şeklinde işlem görür.

    örneğini divxklip.com/ adresinde görebilirsiniz. adresin sonuna kafanıza göre birşeyler yazın
    Yardımınız için çok teşekkür ederim.

    htaccess:
    #Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^.* go.php? 
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    go.php:
    <?php
    ob_start();
    include("db.php");
    
    $url = $_SERVER['QUERY_STRING'];  
    
    $id = $_GET['id'];
    $a = mysql_fetch_row(mysql_query("SELECT link FROM `redirect` WHERE `rurl` LIKE '$id'"));
    echo $id;
    header("location: $a[0]");
    
    ?>
    fakat domain.com/index.php'ye gittiğimde go.php'ye geçiriyor tekrar. Beceremedim bir türlü..
  • 14-12-2009, 10:26:09
    #7
    Üyeliği durduruldu
    şu kısmı;
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    şöyle yapın;
    RewriteRule ^[^/]$ go.php?id=$1 [L,NC]
  • 14-12-2009, 11:10:59
    #8
    devturkeli adlı üyeden alıntı: mesajı görüntüle
    şu kısmı;
    RewriteRule ^(.*)$ go.php?id=$1 [L,NC]
    şöyle yapın;
    RewriteRule ^[^/]$ go.php?id=$1 [L,NC]
    Cevabınız ve yardımınız için teşekkürler.

    Kodun çalışan son hali şöyledir;

    #Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ go.php?id=$1
    RewriteRule ^[^/]$ go.php?id=$1 [L,NC]
    Yardımı dokunan herkese teşekkürlerimi sunarım.
    İyi günler.