2013-03-06 16 views
8

URLをGETパラメータとして渡すときに問題が発生します。私がアクセスしようとすると:PHPを使用してURLにURLを渡す方法(GETパラメータとして)

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

私は、次のメッセージが出ます:

Unexpected error.

を私はのために行く場合は、:

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

すべてが正常に動作します(それは存在しないサイトにリダイレクトされます - 123 - もちろん、それは期待しています)。排除すると、urlパラメータに問題があると言えますが、それは何ですか?

OBS:私はrawurlencode()を使用してURLをエンコードしています。

EDIT:リンクがあり、最初のビューでは、あなたが尋ねたコード...

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 )、次のようなことが起こります(基本的には何もせず、フレームワークをそのまま維持します)。

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(質問の上に、私はこのページのリンク)、含まれています:あなたが制限を取り除くことができない場合は、2にURLを渡すことができ

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

URLパラメータとしてurlencodeを使用し、それはどんな違いがあれば教えてください必要があります。 –

+0

違いは全くありません。 – ramonztro

+2

あなたのリダイレクト機能に問題があります.... – Hackerman

答えて

6

をこのような部分

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

そして、リダイレクトの完全なURLを作るためにあなたのコードでそれを解析します。

+0

YEAH!あなたが正しい!どうすればこの問題を解決できますか?つまり、Apacheの設定を修正します。 – ramonztro

+0

私は確信していませんが、これはおそらくあなたのクエリ文字列を書き換える書き換えルールです。 .htaccessファイルとApacheのconfファイルを見てください。 – Ateszki

+2

あなたのサイトがhostgatorにあるので、この回答を見てください。受け入れられた回答は関連している必要がありますhttp://stackoverflow.com/questions/10992219/http-in-query-dring-does-not-work – Ateszki

4

あなたは何を渡す際に使用シンプルな `でurlencode()は`

関連する問題