Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未在目标URL上接收帖子数据_Php_.htaccess_Http_Post_Http Status Code 301 - Fatal编程技术网

Php 未在目标URL上接收帖子数据

Php 未在目标URL上接收帖子数据,php,.htaccess,http,post,http-status-code-301,Php,.htaccess,Http,Post,Http Status Code 301,我有一个场景,在这个场景中,表单上的数据将被发布在其他网站上,比如 现在,无论何时发布数据,而不是发布或获取状态代码200,我都会获取永久重定向的301状态代码,因此数据不会被发布 检查我将其更改为的目标URL,是的,我在/myfolder之后只添加了一个斜杠,在那里我得到了成功的响应 我需要一些帮助来理解在目标URL末尾添加正斜杠是如何使我的数据成功发布的 注意:目标网页是源网页的子域,因为搜索引擎在重复内容问题上可能会相当困难,因为同一网页的不同url版本上的内容被视为重复,许多站长说 现在

我有一个场景,在这个场景中,表单上的数据将被发布在其他网站上,比如

现在,无论何时发布数据,而不是发布或获取状态代码200,我都会获取永久重定向的301状态代码,因此数据不会被发布

检查我将其更改为的目标URL,是的,我在/myfolder之后只添加了一个斜杠,在那里我得到了成功的响应

我需要一些帮助来理解在目标URL末尾添加正斜杠是如何使我的数据成功发布的


注意:目标网页是源网页的子域

,因为搜索引擎在重复内容问题上可能会相当困难,因为同一网页的不同url版本上的内容被视为重复,许多站长说

现在,任何非尾部斜杠目录都会重定向到斜杠版本,您可能会发现index.html、index.php等也会重定向到尾部斜杠版本

然而,这意味着服务器上有一个策略(例如使用.htaccess规则)强制301重定向并停止您的帖子工作

下面的例子展示了收件人如何处理这些问题

我需要一些帮助来理解在目标URL末尾添加正斜杠是如何使我的数据成功发布的

这是因为目标站点上的
myfolder
是一个真实目录。由于安全原因,Apache中有一个名为
mod_dir
的模块负责此行为

  • 每当请求一个不带尾随斜杠的真实目录时,就会使用301状态代码重定向到相同的URI和尾随斜杠
  • 一旦发生301重定向,POST数据就会丢失
  • 当您使用
    http://www.hissite.com/myfolder/
    发布数据,然后
    mod_dir
    没有出现在图片中,因为您的URI已经有一个尾随斜杠,因此没有重定向,也没有丢失发布数据
  • 可以使用以下方法更改此行为:

    DirectorySlash Off
    

    但这被认为是一种潜在的安全风险,因为它可能会泄露目录内容。

    @anubhava在我打字时提交了他的信息,他的解释是正确的。 我可以补充更多细节:

    这取决于您的服务器设置。其中一个是DirectorySlash。 大约2年前,我在尝试将其发布到我创建的API端点时,就有了一个学习曲线

    如果不在文件夹名称的末尾加斜杠,服务器可以假定您所引用的文件夹实际上是一个文件(它是否实际存在并不重要)。这就是为什么它不尝试访问其中的任何“索引”文件,以及为什么请求似乎不起作用。DirectorySlash设置告诉Apache,如果URL不是文件(没有扩展名),则在URL的末尾添加一个斜杠,这样它将尝试在URL中查找“索引”文件

    可以使用名为DirectoryIndex的附加设置来指定要搜索的“索引”文件的类型

    在为斜杠的追加发出错误重定向的情况下,_POST数据可能会丢失-最常见的情况是在.htaccess中使用mod_重写,而您没有告诉它正确重定向

    简而言之,如果您的服务器没有被告知自动将斜杠添加到URL的末尾,那么它通常被视为一个没有扩展名的文件

    以下是指向Apache设置和其他信息的链接:

    不应该这样。对于站点的根目录,包含和不包含
    /
    的URL是完全相同的。您遗漏了某些地方,添加斜杠没有任何作用。让我在场景中添加更多细节。。在中添加了注释question@Leaner我确实检查了它的每一部分,这是我做的唯一更改…用相同的场景更新了目标URL,这是一个相当详细的事实,在某些情况下是错误的:-)并且有不同的处理方法,但我仍然不明白为什么在Origin表单的动作url中添加一个尾随斜杠帮助我成功发布数据并避免了301重定向!!!!斗牛眼!!!!这就是从上周开始让我疯狂的原因。。。谢谢你让我了解更多关于mod_dir.干杯,Anubhava