Merhaba arkadaşlar, yaklaşık bir kaç saattir araştırıyorum ancak çözümünü bulamadım.
Şöyle bir şey yapmaya çalışıyorum htaccess'de ancak kafam durdu sanırım.
örnek htaccess dosyam bu şekilde;
RewriteRule ^([^.?]+)$ index.php?app=category&id=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9-_/]+)/([a-zA-Z0-9-_/]+)(\/|)$ index.php?app=post&cat=$1&id=$2 [L,QSA]
Örnek:
https://site.ltd/genel https://site.ltd/genel/yazi-adi
Bu htaccess ile bu şekilde çalışabiliyorum. Ancak diyelim ki ben admin paneli için kural eklediğimde beni doğal olarak yazı sayfasına atıyor.
örnek htaccess kodu:
RewriteRule ^admin(\/|)$ index.php?app=admin [QSA]
RewriteRule ^admin/(\w{3,25})(\/|)$ index.php?app=admin§ion=$1 [QSA]Örnek:
https://site.ltd/admin/
posts
Doğal olarak buradaki
admin'i kategori
posts kısmını ise yazı olarak görüyor.
Bu durumda nasıl bir yol izlemem gerekiyor yardımcı olabilir misiniz? Şimdiden yardımlarınız için teşekkürler.
Site adresine normal url ayarlamak için örnek : siteadresi.com/abc123
RewriteRule ^([0-9a-zA-Z-_]+)(/?)$ index.php?id=$1 [QSA,L]
Kategori gibi url ayarlamak için örnek : siteadresi.com/kategori/abc123
RewriteRule ^kategori/(.*)$ kategori.php?id=$1 [QSA]
İki adet uzantılı yani admin için 2 adet tag alabilirsiniz hocam eğerki admin uzantı derseniz üstteki kategoriyi kullanabilirsiniz hocam
örnek : siteadresi.com/admin/profil/abc123
RewriteRule ^admin/(.*)/(.*)$ admin.php?id=$1&tr=$2 [QSA]
ben böyle kullanıyorum hocam
Gelen veri GET parametresi olduğu için if else ile parçalama yaparak halledebilirsiniz hocam.
if($_GET['id'] == "post"){
echo "post";
}gibi sorunu detaylandırırsanız yardımcı olurum hocam