【发布时间】:2023-03-25 17:17:01
【问题描述】:
Stackoverflow 用户,
我有一个 Apache 应用程序需要接受 POST 到以下路径的数据:
/sample/HostChange/Submit
/sample/HostChange/SubmittoAPI
我目前正在使用以下 301 重定向规则。这不是我想要的,因为 POST 被重定向,第二个请求是 GET 丢失所有数据。我看到 301 请求转到正确的 url,但第二个请求是 GET 并导致 405 响应代码。
.htaccess:
RewriteEngine On Redirect 301 /sample/HostChange/Submit /event Redirect 301 /sample/HostChange/SubmittoAPI /date
我确定使用重定向是问题所在。有人可以帮我找出正确的 RewriteCondition 我需要用来将这些 POST 命中重定向到新路径,但保留提交给应用程序的数据。
非常感谢。
【问题讨论】:
-
¿您尝试过使用 mod-rewrite 吗?我问的原因是在重定向 (httpd.apache.org/docs/2.2/mod/mod_alias.html) 指令
"The old URL-path is a case-sensitive (%-decoded) path..."中,这可能正在修改 POST,这反过来可能会影响下一个 GET。只是一个想法,但如果是这种情况,您应该尝试改用 mod-rewrite。 -
除非我遗漏了什么,否则您使用的是重定向,这是一个mod-alias 指令。我的意思是 RewriteRule 这是一个mod-rewrite 指令。
-
哦,是的。我的错。我需要使用 mod_redirect 来完成这项工作。你对 RewriteCond/Rule 有什么指导吗?
标签: apache mod-rewrite http-status-code-301 http-status-code-405