PHP / dizin / sadece at / dizin / index.php de POST istekleri almayacaksınız

5 Cevap

POST isteği "http://domain.com/directory/" için gönderildiğinde, POST veri alınmadı. O "http://domain.com/directory/index.php" için gönderilen ama eğer alınır.

Sadece dizini çağrıldığında nasıl çalışır yapabilir? Teşekkürler!

5 Cevap

Apache çalıştırıyorsanız mod_dir modülü etkinleştirilmiş ve doğru yapılandırılmış olup olmadığını kontrol edin. Bunlar benim dir.conf içeriği şunlardır:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Eğer kendi dizinine bir istek yaptığınızda, yönlendiriliyorsunuz olup olmadığını görmek için Firefox için HttpFox gibi bir araç kullanarak denediniz mi? Ben bir GET isteği dönüştürülmüş olur gibi bir yönlendirme POST isteği öldürür biliyorum.

Lucanos dediği gibi, web sunucusu index.php yeniden yönlendiriliyor? Eğer yönlendirme varsa POST veri sayfaları arasındaki "kayıp" alabilirsiniz. GET deneyin ve URL doğru verilerle biter olmadığını kontrol edin.

Oluştur ". Htaccess" Bu içerikle / / iç dizin dosyası

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Bu rota index.php (dosya veya klasör yok bu istek için var çünkü) fiziksel olarak mümkün olmayan tüm istek sunucuya bildirir, bu avantajı js,. Jpg dosyaları alışkanlık index.php yönlendirilir olsun senin. Css dosyası. Olduğunu .

Dizin index.php alongwith index.html varsa sadece dizinin yolunu verirseniz, index.html hep index.php hala var olursa olsun etkin olur çünkü, sadece dosyayı silmek başka index.html dosyasını yeniden adlandırın Aynı dizin.