如何通过URL在URL(如GET参数)使用PHP?(How to pass URL in URL (

2019-07-21 02:37发布

我有路过的URL作为GET参数的一些问题。 当我尝试访问:

http://www.linkebuy.com.br/linkebuy/parceiro?url=http%3A%2F%2Fwww.google.com

我得到以下信息:

但是,如果我去:

http://www.linkebuy.com.br/linkebuy/parceiro?url=123

一切都运行得很好(它重定向到一个不存在的网站 - 123 - 当然,但它的预期)。 通过排除我可以说有一些错误的url参数,但它是什么?

OBS:我使用rawurlencode()来编码URL。

编辑: 代码你问...

在第一视图,其中该链路是( http://www.linkebuy.com.br/notebook/detalhe?id=5 ):

<!-- url() function just completes the right URL (production or development) -->
<a href="<?php echo url('linkebuy/parceiro/?url=' . rawurlencode($l->getUrl()), true) ?>" class="<?php echo $leadClass ?> oferta" target="_blank">
    <?php echo $l->getNomeFantasia() ?>
</a>

当点击该链接重定向到一个动作( /linkebuy/parceiro ),其中发生以下(basicly没什么,只是在框架保持):

public function execute($request, $response) {
    $response->addParameter('url', rawurldecode($request->getParameter('url', ''))); //This creates $url in the view
    $response->setTemplate('site/linkebuy/lead-parceiro.php'); //Forwards to the view
}

它包括视图, lead-parceiro.php (以上关于这个问题,我和网页链接),其中头包括:

<script type="text/javascript">
    setInterval(function(){ window.location = '<?php echo $url ?>'; },3000);
</script>

Answer 1:

如果你无法摆脱的限制,你可以通过URL 2份这样的

http://www.linkebuy.com.br/linkebuy/parceiro?protocol=http&url=www.google.com

然后解析它在你的代码,以使对重定向的完整URL。



Answer 2:

您应该使用urlencode当你通过什么作为URL参数



文章来源: How to pass URL in URL (as GET parameter) using PHP?