• 28-09-2010, 18:57:04
    #1
    Arkadaşlar bir domainimde script değişikliği nedeniyle yönlendirme yapıyorum. Script prestashop he kendi hazır yönlendirmeleri ile geliyor.

    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /
    
    
    # URL rewriting rules
    
    RewriteRule ^urunler_([a-zA-Z0-9-+]*)\.html$ /search.php?tag=$1 [L,E]
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]
    RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [L,E]
    RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]
    RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang=$1$5 [L,E]
    RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang=$1$4 [L,E]
    RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang=$1 [QSA,L,E]
    RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]
    RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]
    RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]
    RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]
    RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
    RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]
    
    
    # Catch 404 errors
    ErrorDocument 404 /404.php
    Şimdi ben bu yönlendirmelerin başına eski sitemden kalan indexlerin yönlendirmesini koymak istiyorum.
    eski url :/index.php?p=list&k_id=15
    yeni url: /20-camasir-makinesi

    denediğim kodlar

     
    RewriteRule ^(.*)p=list&k_id=15$ /20-camasir-makinesi [L,E]
     
    RedirectMatch 301 /(.*)?p=list&k_id=15 /20-camasir-makinesi
    dinamik url i statik bir sayfaya yöneldirmeye çalışıyorum ama olmuyor.
  • 29-09-2010, 08:58:33
    #2
    .htaccess'te id'lerin sonuna $ eklemen gerektiğini düşünüyorum. ancak senin denediğim kodlarda bir farklılık var gibi...

    RewriteRule ^([a-z0-9_-]+)-(.*).html$ index.php?p=list&k_id=$ [L,NC]
    burada dikkat etmen gereken konuyu biliyorsundur zaten. id'yi sona ekliyoruz yukarıdaki kod ile... bir denermisin lütfen? sonucu tekrar yazıp bilgi verirsen başka bir çözüm yolu ararız İyi çalışmalar...
  • 29-09-2010, 16:10:05
    #3
    quietman adlı üyeden alıntı: mesajı görüntüle
    .htaccess'te id'lerin sonuna $ eklemen gerektiğini düşünüyorum. ancak senin denediğim kodlarda bir farklılık var gibi...

    RewriteRule ^([a-z0-9_-]+)-(.*).html$ index.php?p=list&k_id=$ [L,NC]
    burada dikkat etmen gereken konuyu biliyorsundur zaten. id'yi sona ekliyoruz yukarıdaki kod ile... bir denermisin lütfen? sonucu tekrar yazıp bilgi verirsen başka bir çözüm yolu ararız İyi çalışmalar...
    Yönlendirme dinamik olmayacak. Eski indexlerimi kaybetmemek için eski 100 kadar sayfayı teker teker elle yönlendirmeye çalışıyorum.
    Gelen sayfa
    index.php?p=list&k_id=14 şeklinde eski indexli sayfa artık sunucuda yok
    Yönlenecek sayfa ise
    /20-camasir-makinesi

    şeklinde olacak.

    Şimdilik sorunumu .htacces yerien direk script içinde header ile yönlendirme yaparak çözdüm.
  • 29-09-2010, 16:35:11
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    RewriteEngine on
    RewriteCond %{REQUEST_URI} /index.php$
    RewriteCond %{QUERY_STRING} ^p=list&k_id=14
    RewriteRule ^index\.php$ /20-camasir-makinesi [R=301,L,E]

    böyle birşey denesen. header ile çözmüşsün ama yazıyım dedim maksat beyin fırtınası olsun