PHP不会在/directory/index.php上的/ directory /接收POST请求

时间:2010-05-22 23:52:36

标签: php

当POST请求发送到“http://domain.com/directory/”时,不会收到POST数据。但如果它被发送到“http://domain.com/directory/index.php”则会收到。

如果只调用目录,我怎样才能使它工作?谢谢!

5 个答案:

答案 0 :(得分:6)

如果您正在运行Apache,请检查mod_dir模块是否已正确启用和配置。这些是我的dir.conf的内容:

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

答案 1 :(得分:4)

您是否尝试过使用HttpFox等Firefox工具来查看当您自己向目录发出请求时,是否正在重定向?我知道重定向可以在POST请求转换为GET请求时终止它。

答案 2 :(得分:4)

正如Lucanos所说,网络服务器是否重定向到index.php?如果重定向,POST数据可能会在页面之间“丢失”。尝试GET并检查URL是否以正确的数据结束。

答案 3 :(得分:3)

使用此内容在/ directory /中创建“.htaccess”文件

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

它告诉服务器将所有物理上不可能的请求(因为该请求没有文件或文件夹)路由到index.php,这样做的好处是你的.css文件.js,.jpg文件不会被路由到index.php。

答案 4 :(得分:0)

如果目录中包含index.html和index.php,只需重命名index.html文件,否则删除该文件,因为如果只提供目录路径,则无论index.php如何,index.html总是会被启用存在于同一目录中。