• 04-04-2024, 21:20:32
    #1
    Arkadaşlar teslim ettiğim bir yazılım benim sunucumda çalışıyor.
    Teslim ettiğim firmanın sunucusunda sayfalar 404 hatasına düşüyor.
    Htaccess ile ilgili ama çözemedim yardım edebilecek var mı

    benim sunucumdaki demo
    teslim ettiğim firmanın domaine kurduğu site

    htaccess kodu

    Options -MultiViews
    
    RewriteEngine On
    
    # Hesabım
    RewriteRule ^hesabim$ hesabim/siparisler.php [L]
    
    # Hesabım Alt Sayfaları
    RewriteRule ^hesabim/([a-zA-Z0-9_-]+)$ hesabim/$1.php [L,QSA]
    
    # Ödeme
    RewriteRule ^odeme/([^/]+)$ odeme.php?data=$1 [L,QSA]
    
    # Ürünler Filtre
    RewriteRule ^urunler/([^/]+)$ urunler.php?filtre=$1 [L,QSA]
    
    # Kategori SEO URL'leri için dinamik kural
    RewriteRule ^urun-kategori/([a-z0-9_-]+)$ urunler.php?kat=$1 [L,QSA]
    
    # Üyelik Aktivasyonu
    RewriteRule ^uyelik-aktivasyonu/([a-zA-Z0-9_-]+)$ uyelik-aktivasyonu.php?id=$1 [L,QSA]
    
    # Ürünler Özel Link Listesi
    RewriteRule ^kadin urunler.php?filtre=&cinsiyet[]=kadin [L,QSA]
    RewriteRule ^erkek urunler.php?filtre=&cinsiyet[]=erkek [L,QSA]
    RewriteRule ^cocuk urunler.php?filtre=&cinsiyet[]=cocuk [L,QSA]
    RewriteRule ^unisex urunler.php?filtre=&cinsiyet[]=unisex [L,QSA]
    
    # Ürün
    RewriteRule ^urun/([^/]+)$ urun.php?seo_url=$1 [L,QSA]
    
    # Ürün
    RewriteRule ^urun-kategori/optik-gozluk/([^/]+)-optik-gozluk$ urunler.php?&marka[]=$1 [L,QSA]
    
    # Blog Kategori
    RewriteRule ^blog/([^/]+)$ blog.php?kategori_adi=$1 [L,QSA]
    
    # Blog Sayfalama
    RewriteRule ^blog/sayfa=([0-9]+)$ blog.php?sayfa=$1 [L,QSA]
    
    # Blog Kategori Sayfalama
    RewriteRule ^blog/([^/]+)&sayfa=([0-9]+)$ blog.php?kategori_adi=$1&sayfa=$2 [L,QSA]
    
    # Blog Detay Sayfalama
    RewriteRule ^blogdetay/([^/]+)/?$ blogdetay.php?seo_url=$1 [L,QSA]
    
    # Sayfa
    RewriteRule ^sayfa/([^/]+)$ sayfa.php?seo_url=$1 [L,QSA]
    
    # POST işlemi
    RewriteRule ^post/([^/]+)$  index.php?url=post/$1.php [L]
    
    # Ortak sayfalar için kural
    RewriteRule ^([a-zA-Z0-9_-]+)$ $1.php [L]
    
    # Sayfa ve GET parametreleri
    RewriteRule ^([a-z]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ $1.php?id1=$2&id2=$3 [L]
    
    # Diğer istekleri index.php'ye yönlendir
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
    
    # RewriteLog ve RewriteLogLevel
    RewriteLog "rewrite.log"
    RewriteLogLevel 3
  • 04-04-2024, 21:24:11
    #2
    Sizin sunucunuz ile diğer sunucu apache ise eğer versiyonları aynı mı Apache son sürümde htaccess de kural değişiklikleri oldu
  • 04-04-2024, 22:18:34
    #3
    icebreaker adlı üyeden alıntı: mesajı görüntüle
    Sizin sunucunuz ile diğer sunucu apache ise eğer versiyonları aynı mı Apache son sürümde htaccess de kural değişiklikleri oldu
    Teşekkürler hocam phpinfo ile karşılaştırırken fark ettim mi birisi apache de biri litespeed de sorun buradaki kod farklılığıymış.
    benim sistem apache karşı sistem litespeed şimdi bu hatayı düzeltmeyi bulacağım.
  • 17-04-2024, 22:03:03
    #4
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam phpinfo ile karşılaştırırken fark ettim mi birisi apache de biri litespeed de sorun buradaki kod farklılığıymış.
    benim sistem apache karşı sistem litespeed şimdi bu hatayı düzeltmeyi bulacağım.
    Hocam sorunu buldun mu acaba?
    Benim sunucu da litespeed. .htaccess'i doğru tanımıyor.
  • 19-04-2024, 16:45:18
    #5
    batuhan_polat adlı üyeden alıntı: mesajı görüntüle
    Hocam sorunu buldun mu acaba?
    Benim sunucu da litespeed. .htaccess'i doğru tanımıyor.
    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.
  • 19-04-2024, 16:56:13
    #6
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    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]
  • 19-04-2024, 17:01:04
    #7
    Yok hocam benim ki çok farklı bir sorundu sunucu firması da destek oldu ama çözemedik. En son apache server a geçti müşteri o şekilde çözdük.