一位朋友与一些 WordPress 代理机构签约,创建一个网页,该网页根据用户在表单上输入的输入数据创建自定义 URL 以重定向到显示一些租车数据的第三方 API,该 WordPress 是使用 elementor 完成的插件,问题是,当重定向查询参数分隔符被编码为 html 实体时,即 url 必须类似于 www.site.com/?value1=value1&value2=value2&value3=value3
但插件正在将 url 更改为 www.site .com/?value1=value1&value2=value2&value3=value3
&
正在被编码为 &
,该机构未完成工作,不想也无法修复此问题,他问我是否可以修复它,我不是 WordPress 开发人员,所以对我来说很困难,在其他帖子中有人告诉我,我可以创建一个自定义解码器 php 文件来在 WordPress 安装的根文件夹上处理这个问题,而不是将表单重定向到第三个第三方 API 我可以重定向到站点域上的自定义解码器并修复 url,然后重定向到第三方 API,但我无法获取 php 脚本中的表单发送的 url 我现在有此代码
<?php ob_start(); $API_BASE_URL="www.site.com/"; $bad_url={here must be the url sent by the form}; //here is fixed the url $good_url=html_entity_decode($bad_url); //concatenation of API_BASE_URL and goodurl $redirect_url=&API_BASE_URL.$good_url //redirects to fixed url header('Location: '.$redirect_url); exit(); ?>
我还看到 $_SERVER['HTTP_REFERER']
可用于获取此网址,但这并不可靠,所以我需要另一种方法来获取表单的网址,我该怎么做?该表单现在将重定向到 www.misytedomain.com/custom-decoder/decoder.php/?value1=value1&value2=value2&value3=value3
这是我必须用来构建发送到 API 的 url 的 url。< /p>
编辑:
抱歉,如果我错过解释,例如,表单现在重定向到 www.site.com/?value1=value1&value2=value2&value3=value3
但这在 API 上不起作用,所以我将改为 redirec到该URL重定向到我的域上的位置,其中php文件类似于 www.mysitedomain.com/custom-decoder/decoder.php
我认为我可以添加错误的查询参数,例如 www.mysitedomain.com/custom-decoder /decoder.php/?value1=value1&value2=value2&value3=value3
采用错误的参数,使用 php 逻辑进行修复,最后使用正确的参数重定向到 API,例如 www.site.com/?value1=value1&value2=value2&value3= value3
www.site.com
是 api,www.mysitedomain.com
是我的 WordPress 域
P粉1363562872024-03-30 11:10:20
配置从插件到您自己的 PHP 脚本的重定向(不要忘记添加损坏的查询参数),然后在 $_SERVER['REQUEST_URI']
中访问错误的查询参数