Hocam maalesef tam çözemedim. müşteriye yazdığım bir yazılımda apache sunucuya geçti düzelti.
Epey geniş bir htaccess yazmıştım çünkü nerede ne hata var göremiyoruz. O yüzden çözüm üretemedik.
Ben çözdüm ama benim sorunum seninle aynısı değil hocam. .htaccess'i biraz eksik yazmışım ve litespeed olması ile alakalı değilmiş benim ki.
Ufak bir dalgınlığım yüzünden uğraştım 1 gün boyunca.
Benim sorunum: Ben siteye gelen tüm URL isteklerinin hepsinin index.php'ye gelmesini istiyordum ama bir türlü yapamıyordum. index.php'den ben kontrol yaparak ilgili sayfayı göstermek istiyordum.
Örneğin siteadi.com/manage/ ile kullanıcı giriş yapmak istediğinde manage klasörüne gitmesini istemiyordum kök dizinde ki index.php'ye gitmesini istiyordum ama bir türlü beceremiyordum.
Bir sürü deneme yaptım çeşitli denemelerimde ya /manage klasörüne gidiyordu ya da 404 hata veriyordu.
bunun için .htaccess'e yazdığım kod buydu:
RewriteRule ^([a-zA-Z0-9/_,-]+)$ /index.php?page=$1 [L,QSA]
meğersem /manage
/ URL'sine gidildiğinde hata vermeden index.php dosyasına gitmesi için bir tane daha kural eklemem lazımmış sonda ki "/" karakteri için.
Deneme yanılma yapa yapa bir anda aklıma pat diye gelince yazdım hemen sorunsuz çalıştı.
Yani 2 tane yazıp üstte olmak şartıyla üsttekinin sonuna "/" karakteri koymam lazımmış. İşine yarar mı bilmem ama ben böyle çözdüm.
Kod:
RewriteRule ^([a-zA-Z0-9/_,-]+)/$ /index.php?page=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9/_,-]+)$ /index.php?page=$1 [L,QSA]