it33 adlı üyeden alıntı
Merhabalar. Htaccess ile sayfalama düzenimi değiştirmekteyim.
ör: index.php?page=1 Yerine index/sayfa/1 şeklinde düzenliyorum.
http://localhost/deneme/sayfa/2 şeklinde yönlendirince 404'E düşüyor.
sanırım aynı sayfaya 2 tane htaccess yazdığım için sayfa/1 parametersini kabul etmiyor.
Ne yapılabilir?
RewriteRule ^([^/_.]+)$ kategori-detay.php?category_url=$1 [L,QSA]
RewriteRule ^sayfa/([^/_.]+)$ kategori-detay.php?page=$1 [L,QSA]
Merhaba! Htaccess dosyanızı düzenlemeye çalışırken karşılaştığınız sorunu çözmek için bazı değişiklikler yapmanız gerekebilir. Şu anda iki farklı RewriteRule kuralınız var:
RewriteRule ^([^/_.]+)$ kategori-detay.php?category_url=$1 [L,QSA]
RewriteRule ^sayfa/([^/_.]+)$ kategori-detay.php?page=$1 [L,QSA]
Bu iki kural, URL'yi farklı şekillerde yeniden yazmaktadır. İkinci kural, sayfa/
ile başlayan URL'leri kategori-detay.php?page=
ile yeniden yazmaktadır.
Ancak, http://localhost/deneme/sayfa/2
gibi bir URL'i kullanırken, ilk kural bu URL için uygulanmaktadır çünkü sayfa/
kısmı ([^/_.]+)
desenine uymaktadır. Bu nedenle, 404 hatası alıyorsunuz çünkü kategori-detay.php?category_url=2
gibi bir URL oluşturulmaktadır, ancak bu URL ile eşleşen bir sayfa mevcut değildir.
Sorunu çözmek için aşağıdaki gibi bir htaccess dosyası düzenlemesi yapmanızı öneririm:
RewriteRule ^kategori/([^/_.]+)$ kategori-detay.php?category_url=$1 [L,QSA]
RewriteRule ^sayfa/([^/_.]+)$ kategori-detay.php?page=$1 [L,QSA]
Bu değişiklikle, URL'lerinizi kategori/
ve sayfa/
ile başlatmanız gerekmektedir. Örneğin, http://localhost/deneme/kategori/elektronik
veya http://localhost/deneme/sayfa/2
gibi URL'leri kullanabilirsiniz.