Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
236
Tıklama
0
Öne Çıkarma
.htaccess sorunu
A
10 yıl (3307 mesaj)
Yarbay
Konu Sahibi

değerli dostlar merhaba

aşağıdaki .htaccess kodum var, yapmak istediğim
siteadi.com/urunler/abcurunu link tipini
siteadi.com/abcurunu olarak değiştirmek istediğimde
RewriteRule ^(.*)$ urunler.php?link=$1 [QSA,L]
bunu kullanıyorum, fakar bu sefer aşağıdaki listede olan diğer linkleri etkiliyor, açılmıyor ve hepsi urunler.php yi görüyor. sizce sorunu nasıl düzeltebilirim

saygılar

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=46]
RewriteRule ^urunler/(.*)$ urunler.php?link=$1 [QSA,L]
RewriteRule ^markalar/(.*)$ markalar.php?link=$1 [QSA,L]
RewriteRule ^katalog$ katalog.php [L]

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi armax -- 18 Aralık 2016; 14:13:32 >

A
10 yıl (500 mesaj)
Yüzbaşı

Anlatmışsın bir güzel ama istediğin nedir tam olarak siten.com/kategori/teknoloji

htaccess ile link yönlendirmesi yapmışsınız.
RewriteRule ^kategori/(.*)$ kategori.php?link=$1 [QSA,L]

yani burada demek istediği şey şudur. sen sitende siten.com/kategori/ (.*)$ yani burası belirtilen dosya içerisindeki veriden çekilecek anlamında.

belirtilen dosya ise kategori.php?link=$1 link=tekonoloji ise hem kategori.php sayfasına listeleme yapar hem de link yapın bu olur.

Şimdi bunun neresini kaldırmak istiyorsun ?



A
9 yıl (3307 mesaj)
Yarbay
Konu Sahibi

güncel



G
9 yıl (40 mesaj)
Çavuş

Diğerlerin altında kullanman gerek eğer o kodu ılk sırada kullanırsan aynen dediğin gibi tüm linkleri ona bağlar
Yani siteadi.com/markalar/BMW linkindeki markalar sözcüğü de ^(.*)$ urunler.php?link=$1 en üztte olduğu için işleme alınır

bu şekilde olacak sıralama

RewriteRule ^urunler/(.*)$ urunler.php?link=$1 [QSA,L]
RewriteRule ^markalar/(.*)$ markalar.php?link=$1 [QSA,L]
RewriteRule ^(.*)$ urunler.php?link=$1 [QSA,L]


Bu mesaja 1 cevap geldi.
A
9 yıl (3307 mesaj)
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: gumulcine

Diğerlerin altında kullanman gerek eğer o kodu ılk sırada kullanırsan aynen dediğin gibi tüm linkleri ona bağlar
Yani siteadi.com/markalar/BMW linkindeki markalar sözcüğü de ^(.*)$ urunler.php?link=$1 en üztte olduğu için işleme alınır

bu şekilde olacak sıralama

RewriteRule ^urunler/(.*)$ urunler.php?link=$1 [QSA,L]
RewriteRule ^markalar/(.*)$ markalar.php?link=$1 [QSA,L]
RewriteRule ^(.*)$ urunler.php?link=$1 [QSA,L]

hocam çok teşekkür ederim sorunum çözüldü, ama farklı bir problem başladı onu nasıl çözerim ?

mesela urunler link çekiyor, yeni haliyle siteadi.com/abcurunu, ama abcurunu sitede yoksa mesela siteadi.com/fdfds girildiğinde eskiden 404 hatası çıkıyordu şimdi urunler.php boş dosyası açılıyor..
bunu nasıl aşarım ?

urunler.php satırı en başına
<?php $link=$_GET["link"]; if (empty($link)){ header('Location: 404.php'); } ?>

ekledim ama çözülmedi



G
9 yıl (40 mesaj)
Çavuş

kendi düzenlediğin hata sayfan yoksa 404 kullanma ziyaretçiler için iyi olmaz bunun yerine ürün bulunamadı gibi bir mesaj daha iyi olur

if(!isset($_GET["link"])){ echo "Ürün bulunamadı!"; }

şeklinde olacak kullanmak istediğin kod


Bu mesaja 1 cevap geldi.
A
9 yıl (3307 mesaj)
Yarbay
Konu Sahibi

Hocam tekrar teşekkür ederim, Sağlıcakla Kalın




Bu mesajda bahsedilenler: @gumulcine
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.