2010-05-22 23 views
10

POST isteği "http://domain.com/directory/" adresine gönderildiğinde, POST verileri alınmaz. Ancak "http://domain.com/directory/index.php" adresine gönderilirse alınır.PHP,/dizininde/dizininde POST isteklerini yalnızca /directory/index.php adresinde almaz.

Sadece dizin çağrıldığında bunu nasıl çalıştırabilirim? Teşekkürler!

+3

Bu istek üzerine POST alamayacak hiçbir neden yok, düşünebildiğim tek şey, belki biraz funky .htaccess dosyaları oluşturduysanız, olası bir yönlendirme .. –

+5

: //domain.com/directory/ "bir tarayıcı penceresinde, bu adreste içerik görüyor musunuz, bir hata mesajı gösteriyor mu veya tarayıcı adresi" http://domain.com/directory/index. php "? –

+5

Başka bir olası yönlendirme kaynağı "/ directory /" yerine "/ directory" kullanıyor. Sondaki eğik çizgiyi unutmak da bir yönlendirmeyi tetikleyebilir. – janmoesen

cevap

4

Firefox için HttpFox gibi bir araç kullanmayı denediniz mi, kendi başına bir istekte bulunup bulunmadığınızı görmek için yeniden yönlendiriliyorsunuz? Bir yönlendirmenin bir GET isteğine dönüştürüldüğü için bir POST isteğini öldürebileceğini biliyorum.

4

Lucanos'un dediği gibi, web sunucusu index.php'a yönlendiriliyor mu? Yönlendirirseniz POST verileri sayfalar arasında "kayıp" olabilir. GET'i deneyin ve URL'nin doğru verilerle bitip bitmediğini kontrol edin.

6

Apache kullanıyorsanız, mod_dir modülünün etkin olup olmadığını ve doğru yapılandırılıp yapılandırılmadığını kontrol edin. Bunlar benim dir.conf içeriği şunlardır: index.php Alongwith sadece index.html dosyasını başka adlandırmak dosyayı silmek index.html dizin içeriyorsa

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

Ayrıca bu kurallar/dizin/ –

+1

altında .htaccess'te bulunabilir. Ama dizine eriştiğimde index.php'yi görebiliyorum, sorun değil. Sadece yazı kaybolur. – Lazlo

0

çünkü sadece dizinin yolunu verirsen, index.html her zaman, index.php hala aynı dizinde var olursa olsun etkinleşir.

+0

Hayır, her zaman değil, Apache –

3

bu içerik

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 yönlendirmek için dizine (dosya veya klasör bu istek için mevcut beri) fiziksel olarak mümkün olmayan tüm istek bildiren ve içeride ".htaccess" dosyasını/dizin/oluşturun. php, bunun avantajı .css dosyanız .js, .jpg dosyalarının index.php'ye yönlendirilmemesidir.

+0

'daki DirectoryIndex ayarının sırasına bağlıdır. Bu mükemmel ve benim için ne çalıştı. – KyleT

+0

Bunu denedim ama işe yaramadı :( –

İlgili konular