当前位置: 首页 > 知识库问答 >
问题:

Apache 301重定向和保存帖子数据

姬英耀
2023-03-14

我已经使用Apache301重定向到“重定向”实现了SEO URL。cfm’位于网站的根目录中,处理所有URL构建和内容交付。

在301重定向期间,Post数据丢失。

到目前为止找不到解决方案,我们尝试将post方法排除在重写之外-最坏的情况是,我们可以将旧类型的URL用于post方法。

有什么可以做的吗?

谢啦

共有3个答案

巫马嘉祯
2023-03-14

使用301重定向进行一般URL重写不是办法。这是一个性能问题(特别是对于移动设备,但也是一般的),因为它使页面的请求数量翻了一番。

考虑使用一个URL重写工具,如Tuckey的URLreWriteFilter或apachemod_rewrite

雷说的都是真的,这只是对你的一般方法的补充评论。

罗韬
2023-03-14

更新大约2021年这里的原始答案是在307状态代码重定向在浏览器中一致工作之前编写的。根据下面哈什布朗的回答,应该使用307状态代码。

旧的应答POST数据在重定向时被丢弃,因为客户端将对301指定的URL执行GET请求。时期

唯一的选择是将POST参数转换为GET参数,并将其粘贴到要重定向到的URL的末尾。这不能在. htaccess文件重写中完成。

一个选项是捕获对要重定向的url的POST请求,并将其传递到页面以处理重定向。您需要对代码中的参数进行换位,然后以这种方式发出带有参数附加新url的重定向头。

更新:正如在对这个答案的评论中指出的,如果您确实重定向到另一个指定POST参数的URL,并且访问该URL时也没有参数(或者参数是可变的),那么您应该为页面指定一个到规范URL的链接。

假设POST表单重定向到以下GET资源:

   http://www.example.com/finalpage.php?form_data_1=123&form_data_2=666

您可以将此链接记录添加到页面的标题部分:

   <link rel="canonical" href="http://www.example.com/finalpage.php" />

这将确保所有搜索引擎优化的价值将给予http://www.example.com/finalpage.php并避免重复内容可能出现的问题。

邵畅
2023-03-14

使用307应该正是您想要的

307 Temporary Redirect (since HTTP/1.1)
In this case, the request should be repeated with another URI; however, future requests
should still use the original URI.[2] In contrast to how 302 was historically implemented,
the request method is not allowed to be changed when reissuing the original request. For
instance, a POST request should be repeated using another POST request

维基百科

 类似资料:
  • 问题内容: 在Django views.py文件中处理POST请求时,有时需要将其重定向到另一个URL。我重定向到的网址是由同一Django views.py文件中的另一个函数处理的。有办法做到这一点并维护原始POST数据吗? 更新:我为什么要这样做的更多解释。我有两个Web应用程序(我们称它们为AppA和AppB),它们接受用户在文本字段中输入的数据。当用户单击提交时,将处理数据并显示详细结果。

  • 问题内容: 我有一个网站,所有请求都通过(无提示)被无提示地重定向到,然后PHP用于显示正确的页面(通过解析)。 我想知道是否也可以将POST数据提交到假地址? 我目前有这样的表格… 我的规则是 我的支票工作正常。 但是,这似乎删除了应该发送给它的所有POST数据。 有没有办法保留帖子数据?我不想使用GET,因为它不能发送太多信息,尽管使用简单的查询表可能不会出现问题。 这是我重定向到的 问题答案

  • 问题内容: 我正在编写一个小脚本来捕获链接点击,并将链接的URL保存到数据库表中,以便跟踪在特定页面上每个链接被点击了多少次。链接是指向外部站点的。 因此,我在JavaScript函数中捕获了click事件,使用jQuery发布到将数据保存在MySQL中的PHP页面,然后JavaScript函数将用户重定向到他们单击的链接的URL。 我遇到的问题是,由于重定向的原因,该帖子似乎从未完成。我已经通过

  • 问题内容: 我正在使用访问管理(AM)服务器创建社交登录页面。当用户单击登录按钮时,我将对AM服务器进行一次http调用。AM服务器生成带有身份验证cookie的HTTP 301重定向响应到社交登录页面。我需要以某种方式遵循此重定向响应,并在Web浏览器中显示新内容。 用户界面:ReactJS 请求: 响应 反应代码: 如何跟踪重定向响应并在Web浏览器中显示新内容? 问题答案: Request.

  • 我想限制我的WordPress网站的某些页面登录用户。 为此,我编写了一些代码,将用户重定向到登录页面,并设置我的成员身份插件,然后将他们重定向到最后一个用户页面。问题是,wp_redirect函数不保存URL,所以在登录之后,用户会被重定向到他们之前所在的页面,而不是他们试图访问的页面(受限页面)。 对这个烦人的问题的任何帮助都将非常感激!:)我的代码在下面。