一个朋友签约了一些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开发人员,所以一直对我来说很困难,在其他帖子中有人告诉我,我可以在WordPress安装的根文件夹上创建一个自定义解码器php文件来处理这个问题,而不是将表单重定向到第三方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.
EDIT:个
抱歉,如果我解释错了,例如,表单现在重定向到www.site.com/?value1=value1&value2=value2&value3=value3
,但这在API上不起作用,所以我不会重定向到那个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域