Soruma tıklandığında RewriteRule URL'sini nasıl alacağımı soruyorum (domain.com/?brandID=1 & name = Beretta).htaccess rewriteYeni url görüntüleme yok
Benim testler beni o index.php ile ilgili bir şey olabilir inandırmaya, belki de değil. Komut dosyası, ayarlanan GET değişkeni tarafından tetiklenir ve DB'yi sorgular ve sonuçları (ve "çirkin" URL) görüntüleyen sayfayı içerir.
# Rewrite for ?brandID=1&name=Name
RewriteRule ^pistol-brand/([0-9]+)/([0-9a-zA-Z_-]+) ?brandID=$1&name=$2 [NC,L]
Ben domain.com/pistol-brand/1/beretta
The ile domain.com/?brandID=1 & name = Beretta değiştirmek istiyor: Burada
.htaccess kodu Yukarıdaki kod, "çirkin" URL'yi görüntüler, ancak URL'yi RewriteRule öğesinin (domain.com/pistol-brand/1/beretta) ne yaptığına değiştirdiğimde, sayfa çalışır.nasıl bağlantı tıklandığında göstermek için "yeni" url alabilirim? herhangi bir yardım için
teşekkürler.
'? BrandID = $ 1 & ad = $ 2'FC geçerli bir URL değil sef biçimine çirkin url yönlendirmek tane daha lazım, sen buna karşılık yeniden yazamazsınız. – arkascha
Ayrıca kullanılamadı: \t RewriteRule^tabanca-marka/([0-9] +)/([0-9a-zA-Z _-] +) index.php? BrandID = $ 1 & name = $ 2 [NC, L] – JimB814
Url yeniden yazma işleminin nasıl çalıştığını anladığınızdan emin değilim. Bu yanlış anlama! Sadece burada bir çok hayal kırıklığını önlemeye çalışıyorum. Yukarıdaki kural kesinlikle böyle bir bağlantıyı tıklarsanız hiçbir şey yapmayacaktır: 'http: // domain.com/? BrandID = 1 & name = Beretta'. Bunun gibi bir bağlantıya sahip olmanız ve tıklamanız gerekiyor: 'http: // domain.com/tabanca-brand/1/beretta'. Daha sonra, URL'lerin yeniden yazılması, komut dosyalarının işleyebilmesi için bu talebi yeniden yazmalıdır. Bu nedenle, tarayıcıda gösterilen URL’yi "güzel" bağlantıyı gösterdiğinden "değiştirmeye" gerek yoktur. – arkascha