Php 未在目标URL上接收帖子数据
我有一个场景,在这个场景中,表单上的数据将被发布在其他网站上,比如 现在,无论何时发布数据,而不是发布或获取状态代码200,我都会获取永久重定向的301状态代码,因此数据不会被发布 检查我将其更改为的目标URL,是的,我在/myfolder之后只添加了一个斜杠,在那里我得到了成功的响应 我需要一些帮助来理解在目标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版本上的内容被视为重复,许多站长说 现在
注意:目标网页是源网页的子域,因为搜索引擎在重复内容问题上可能会相当困难,因为同一网页的不同url版本上的内容被视为重复,许多站长说 现在,任何非尾部斜杠目录都会重定向到斜杠版本,您可能会发现index.html、index.php等也会重定向到尾部斜杠版本 然而,这意味着服务器上有一个策略(例如使用.htaccess规则)强制301重定向并停止您的帖子工作 下面的例子展示了收件人如何处理这些问题 我需要一些帮助来理解在目标URL末尾添加正斜杠是如何使我的数据成功发布的 这是因为目标站点上的
myfolder
是一个真实目录。由于安全原因,Apache中有一个名为mod_dir
的模块负责此行为
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