• 08-07-2023, 03:48:57
    #1
    Merhaba,
    Hazırladığım bir projede index.php dosyam var. dosyada olmazsa olmaz 1 adet query string var. 2. query string sayfalamaya ait. normalde değer gelmezse 1. sayfaya ait verileri gösteriyorum. yani index.php?kurum=abc-yazilim şeklinde istekte bulunduğunuzda 1. sayfaya ait veriler geliyor. index.php?kurum=abc-yazilim&sayfa=3 şeklinde istek gelirse 3. sayfaya ait veriler listeleniyor. htaccess dosyası şu şekilde olduğunda:

    RewriteEngine On
    
    RewriteRule ^([0-9a-zA-Z-_]+)/([0-9]+)$  index.php?kurum=$1&sayfa=$2
    localhost/abc-yazilim şeklinde istek yaptığımda 404 sayfası geliyor. localhost/abc-yazilim/1 yazdığımda 1. sayfaya ait veriler geliyor.

    /1 olmasa da sayfanın açılması için htaccess dosyasında nasıl bir düzenleme yapmam gerekiyor?
  • 08-07-2023, 03:58:42
    #2
    Merhaba, htaccess dosyanızdaki Rewrite kuralını güncelleyerek, sayfa parametresinin varsayılan bir değer almasını sağlayabilirsiniz. Bu şekilde, sayfa parametresi belirtilmediğinde otomatik olarak varsayılan değeri kullanacaktır.Aşağıda, bir ornek kod bilgisi paylaştım.

    RewriteEngine On
    RewriteRule ^([0-9a-zA-Z-_]+)/?$ index.php?kurum=$1&sayfa=1 [QSA]
    RewriteRule ^([0-9a-zA-Z-_]+)/([0-9]+)$ index.php?kurum=$1&sayfa=$2 [QSA]

    Bu kural ile, sayfa parametresinin belirtilmediği durumlarda sayfa=1 değerini kullanacaktır. Örneğin, localhost/abc-yazilim şeklinde bir istek yapıldığında, sayfa=1 değeri varsayılan olarak kullanılacak ve 1. sayfaya ait veriler gösterilecektir.

    Dikkat etmeniz gereken önemli nokta, RewriteRule ifadelerindeki düzenlemeleri yapmadan önce, sunucunuzun mod_rewrite modülünün etkinleştirilmiş olduğundan emin olmanız... Aksi takdirde, .htaccess dosyasında yapılan değişiklikler çalışmayacaktır.
  • 08-07-2023, 04:17:55
    #3
    Çok teşekkür ederim. Çalıştı.
  • 08-07-2023, 04:20:20
    #4
    yesil60 adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim. Çalıştı.
    Rica ederim.
  • 10-07-2023, 02:10:33
    #5
    ilgili projede alt dizinlerimiz var. mevcut htaccess ayarı onlara giriş yapmamızı engelliyor. mesela localhost/yonetim yazdığınızda giremiyorsunuz. ancak localhost/yonetim/index.php yazınca giriyor. bunun için bir htaccess yazdım. o zaman da yonetim altındaki hangi dosyayı açarsanız açın index.php yi gösteriyor.