菲律宾元';t在/directory/处接收POST请求,仅在/directory/index.php处接收

菲律宾元';t在/directory/处接收POST请求,仅在/directory/index.php处接收,php,Php,将POST请求发送到“”时,不会收到POST数据。但如果发送到“”,则会收到 当只调用目录时,如何使其工作?谢谢 您是否尝试过使用HttpFox for Firefox之类的工具来查看当您自己向目录发出请求时,是否正在重定向?我知道重定向可以在POST请求转换为GET请求时终止它。正如Lucanos所说,web服务器是否重定向到index.php?如果重定向,POST数据可能在页面之间“丢失”。尝试获取并检查URL是否以正确的数据结尾。如果您正在运行Apache,请检查mod_dir模块是否已启

将POST请求发送到“”时,不会收到POST数据。但如果发送到“”,则会收到


当只调用目录时,如何使其工作?谢谢

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

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

如果您正在运行Apache,请检查mod_dir模块是否已启用并正确配置。以下是my dir.conf的内容:

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

DirectoryIndex.html index.cgi index.pl index.php index.xhtml index.htm

如果目录包含index.html和index.php,只需重命名index.html文件,否则请删除该文件,因为如果只提供目录路径,则无论index.php是否仍存在于同一目录中,index.html始终处于启用状态。

使用此内容在/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

没有理由它不会收到该请求的帖子,我唯一能想到的是可能的重定向,如果你设置了一些funky.htaccess文件的话。如果你在浏览器窗口中打开“”,你会看到该地址的内容吗,它会显示错误消息,还是浏览器地址会变为“”?重定向的另一个可能来源是使用“/directory”而不是“/directory/”。忘记尾随斜杠也会触发重定向。@James,我不是php爱好者,但在asp.net中有一个url重写器,如果您使用这种技术,那么您的post请求很可能被重定向,从而丢失了post数据。您是在linux上还是在windows上?我记得有一次我在IIS上遇到了类似的问题。不,不总是这样,这取决于ApacheDirectory中DirectoryIndex设置的顺序。该规则也可以位于/directory/下的.htaccess中,但我在访问目录时可以看到index.php,这不是问题所在。只有邮局丢了。