一位朋友與一些WordPress 代理機(jī)構(gòu)簽約,創(chuàng)建一個(gè)網(wǎng)頁(yè),該網(wǎng)頁(yè)根據(jù)用戶在表單上輸入的輸入數(shù)據(jù)創(chuàng)建自定義URL 以重定向到顯示一些租車數(shù)據(jù)的第三方API,該WordPress 是使用elementor完成的插件,問(wèn)題是,當(dāng)重定向查詢參數(shù)分隔符號(hào)被編碼為html 實(shí)體時(shí),即url 必須類似於www.site.com/?value1=value1&value2=value2&value3=value3
但插件正在將url 改為www.site .com/?value1=value1&value2=value2&value3=value3
&
正在被編碼為&
,該機(jī)構(gòu)未完成工作,不想也無(wú)法修復(fù)此問(wèn)題,他問(wèn)我是否可以修復(fù)它,我不是WordPress 開(kāi)發(fā)人員,所以對(duì)我來(lái)說(shuō)很困難,在其他帖子中有人告訴我,我可以創(chuàng)建一個(gè)自定義解碼器php檔案來(lái)在WordPress 安裝的根資料夾上處理這個(gè)問(wèn)題,而不是將表單重定向到第三個(gè)第三方API 我可以重定向到網(wǎng)站網(wǎng)域上的自訂解碼器並修復(fù)url,然後重定向到第三方API,但我無(wú)法取得php 腳本中的表單發(fā)送的url 我現(xiàn)在有此程式碼
<?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']
可用來(lái)取得此網(wǎng)址,但這並不可靠,所以我需要另一種方法來(lái)取得表單的網(wǎng)址,我該怎麼做?該表單現(xiàn)在將重定向到www.misytedomain.com/custom-decoder/decoder.php/?value1=value1&value2=value2&value3=value3
這是我必須用來(lái)建置發(fā)送到API 的url 的url。 < /p>
編輯:
抱歉,如果我錯(cuò)過(guò)解釋,例如,表單現(xiàn)在重定向到www.site.com/?value1=value1&value2=value2&value3=value3
但這在API 上不起作用,所以我將改為redirec到該URL重定向到我的網(wǎng)域上的位置,其中php檔案類似於www.mysitedomain.com/custom-decoder/decoder.php
我認(rèn)為我可以添加錯(cuò)誤的查詢參數(shù),例如www.mysitedomain.com/custom-decoder /decoder.php/?value1=value1&value2=value2&value3=value3
採(cǎi)用錯(cuò)誤的參數(shù),使用php 邏輯修復(fù),最後使用正確邏輯的參數(shù)重定向到API,例如www.site.com/?value1=value1&value2=value2&value3= value3
www.site.com
是api,www.mysitedomain.com
是我的WordPress 網(wǎng)域
配置從外掛程式到您自己的 PHP 腳本的重定向(不要忘記新增損壞的查詢參數(shù)),然後在 $_SERVER['REQUEST_URI']
中存??取錯(cuò)誤的查詢參數(shù)