• 26-05-2023, 21:01:41
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar, küçük bir sorunum var. Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.

    Windows işletim sistemli bilgisayarımda wamp server kurulu.
    .htaccess dosyamdaki yönlendirme kuralı aşağıdaki gibi;

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(contact|login|unsubscribe|activation|activation-again|forgot-pass)$ /$1.php?lang=en [L]

    Sorunum tam olarak şu;
    "http://localhost/login" adresinde bir login formu var. Bu formu doldurup gönder butonuna bastığımda "http://localhost/login/do" adresine forma girdiğim değerleri göndermesi gerekiyor. Fakat bunun yerine "http://localhost/login" adresine gönderiyor. Aynı kodlar linux sunucuda gayet düzgün bir şekilde çalışıyor. Yani RewriteRule bölümündeki yönlendirme kodu "login" ile eşleşince devamına bakmadan yönlendirme yapıyor. "http://localhost/login/do" olan form post urlini "http://localhost/DoLogin" olarak değiştirince sorun ortadan kalkıyor. Post url bilgisini değiştirmeden bu sorunu çözmemin bir yolu var mı?
  • 26-05-2023, 21:28:01
    #2
    Hocam bence yapmak istediğiniz işlem ile .htaccess dosyanızdaki komutların ilişkili olduğunu sanmıyorum. Form işlemlerinin akışından kaynaklanıyor olabilir. .htaccess dosyanızda (contact|login|unsubscribe|activation|activation-again|forgot-pass) url pathde herhangi birine eşitse x.php?lang=en diye yönlendiriyor sadece.
  • 26-05-2023, 22:09:30
    #3
    lancelot adlı üyeden alıntı: mesajı görüntüle
    Hocam bence yapmak istediğiniz işlem ile .htaccess dosyanızdaki komutların ilişkili olduğunu sanmıyorum. Form işlemlerinin akışından kaynaklanıyor olabilir. .htaccess dosyanızda (contact|login|unsubscribe|activation|activation-again|forgot-pass) url pathde herhangi birine eşitse x.php?lang=en diye yönlendiriyor sadece.
    Çok teşekkür ederim yardımcı olma konusundaki isteğin sebebiyle fakat hayır hocam form sadece işin görünen yüzü.

    Mesela hiç formu karıştırmadan localhost/login/do adresini direkt adres satırına yazdığımda "lütfen kullanıcı adı ve şifrenizi giriniz" şeklinde bir uyarı vermesi gerekiyor. Çünkü /login/do sayfası bu değerlerin gönderilip gönderilmediğini kontrol ediyor. Oysa localhost/login/do adresine girdiğimde bu hatayı yazmak yerine localhost/login adresindeki kullanıcı bilgilerinin girildiği form sayfasını gösteriyor. Ayrıca aynı htaccess ve aynı php kodları linux sunucuda düzgün bir şekilde yönlendirme yapıyor. Haliyle bu bana linux web serverı ile WAMP web serverının .htaccess kodlarını farklı yorumluyor olabileceğini düşündürüyor.

    İlk mesajımda da söylediğim gibi; form verilerinin gönderildiği "/login/do" urlini /DoLogin yaparsam ya da "/login" ile başlamayan herhangi bir url yaparsam sistem tam olarak istediğim gibi çalışıyor. Yani sanki WAMP .htaccess dosyasındaki rewrite kodunu yorumlarken url içinde "/login" ile karşılaşınca gerisini okumak yerine ilk örtüşen kuralı uyguluyor gibi. "login/x", "login/y" ya da "login/blablabla" da olsa sonuç değişmiyor anlatabiliyor muyum?