Php 表格不';t在操作url结尾处不使用反斜杠发布

Php 表格不';t在操作url结尾处不使用反斜杠发布,php,html,wordpress,Php,Html,Wordpress,今天我遇到了一个奇怪的问题,它让我大吃一惊,因为我不知道为什么会发生这种情况,我有一个带有这个动作的表单http://localhost/wp/但是如果结尾没有反斜杠,它就不能工作,我的意思是当动作是http://localhost/wp它不起作用, 让我举例说明: <form action="<?php bloginfo("url"); ?>" method="post"> <input type="text" name="example">

今天我遇到了一个奇怪的问题,它让我大吃一惊,因为我不知道为什么会发生这种情况,我有一个带有这个动作的表单
http://localhost/wp/
但是如果结尾没有反斜杠,它就不能工作,我的意思是当动作是
http://localhost/wp
它不起作用, 让我举例说明:

<form action="<?php bloginfo("url"); ?>" method="post">
       <input type="text" name="example">
</form>

<?php
      var_dump( $_POST ); // will output an empty array
?>
谁能告诉我出了什么事吗

::它是安装在XAMPP-Windows8.1上的wordpress。当您使用`,它将执行目录/path/to/localhost/wp/中的任何Apache默认文件。例如,在WordPress case index.php中

当您使用
http://localhost/wp
,它告诉Apache执行/path/to/localhost/目录中的文件wp

因此,这两个案例要求两种不同的东西,结果不同

如果您始终希望运行WordPress,请将.htaccess文件修改为始终转到/localhost/wp/,即使用户没有添加斜杠。

使用`,这将执行/path/to/localhost/wp/目录中的任何Apache默认文件。例如,在WordPress case index.php中

当您使用
http://localhost/wp
,它告诉Apache执行/path/to/localhost/目录中的文件wp

因此,这两个案例要求两种不同的东西,结果不同



如果您始终希望运行WordPress,请修改.htaccess文件,使其始终转到/localhost/wp/,即使用户没有添加斜杠。

检查您的htaccess重写规则传统帮助信息:是WordPress吗?像Zend或Symphony这样的PHP框架?等等,因为问题可能与路由器以及它如何解析URI有关。将这些细节添加到问题和您的标签中,将有助于找到正确的人来回答。有同样的问题,在我的案例中,表单位于id为的div标签中,当我删除这些id时,它就起作用了。@kevinNelson谢谢我添加了信息,是的,它是wordpress,@Amir当我只将表单放在主题的“index.php”中时,问题仍然存在请检查您的htaccess重写规则传统帮助信息:是wordpress吗?像Zend或Symphony这样的PHP框架?等等,因为问题可能与路由器以及它如何解析URI有关。将这些细节添加到问题和您的标签中,将有助于找到正确的人来回答。有同样的问题,在我的案例中,表单位于id为的div标签中,当我删除这些id时,它就起作用了。@kevinNelson谢谢我添加了信息,是的,它是wordpress,@Amir当我只将表单放在主题的“index.php”中时,问题仍然存在。我可以做些什么来确保客户不会遇到我在他/她的在线网站上遇到的问题?从目录结构来看,听起来您可能是从子目录运行WordPress安装。如果是这样的话,你可能想看看,它使用了一种稍微不同的方法。仅供参考——“这两个案例要求两种不同的东西……”是不准确的。当我转到
http://localhost/_test
不带尾随斜杠,Apache返回文件
/\u test/index.php
。弄清楚这一点没有问题。唯一会弄糟的是配置错误。htaccess规则或PHP路由器没有正确处理URI。@Kevin Nelson-这实际上不是基本Apache,而是mod_dir的一个功能,如果没有找到,可以使用相同的URL和添加的斜杠进行测试。它是否做到这一点取决于配置变量DirectorySlash(默认为On)。@bobdye,有趣的…每天学习新的东西。谢谢但是,是否存在没有它的服务器?因为在十多年的时间里,在十几台或更多的服务器上,我从来没有被要求添加斜杠。我能做些什么来确保客户不会遇到我在他/她的在线网站上遇到的问题吗?从你的目录结构来看,听起来你可能是从一个子目录运行WordPress安装。如果是这样的话,你可能想看看,它使用了一种稍微不同的方法。仅供参考——“这两个案例要求两种不同的东西……”是不准确的。当我转到
http://localhost/_test
不带尾随斜杠,Apache返回文件
/\u test/index.php
。弄清楚这一点没有问题。唯一会弄糟的是配置错误。htaccess规则或PHP路由器没有正确处理URI。@Kevin Nelson-这实际上不是基本Apache,而是mod_dir的一个功能,如果没有找到,可以使用相同的URL和添加的斜杠进行测试。它是否做到这一点取决于配置变量DirectorySlash(默认为On)。@bobdye,有趣的…每天学习新的东西。谢谢但是,是否存在没有它的服务器?因为在超过10年的时间里,在十几台或更多的服务器上,我从来没有被要求添加斜杠。
<form action="<?php bloginfo("url"); ?>/" method="post">
       <input type="text" name="example">
</form>

<?php
      var_dump( $_POST ); // will output array( "example" => "XXXX" )
?>