编码&在header()函数中

时间:2013-06-28 00:19:17

标签: php

我正在进行此重定向:

$perf = get_query_var('goperf');
$campaignid = get_option('campaign_id');
$url = 'http://ww.mysite.com?test=1&testtwo=2';
header("HTTP/1.1 301 Moved Permanently");
header('Location: '.$url); 
exit;

我应该使用:

$url = 'http://ww.mysite.com?test=1&testtwo=2';

或者我应该编码&?使用&而不是&

$url = 'http://ww.mysite.com?test=1&esttwo=2';

TY

1 个答案:

答案 0 :(得分:5)

如果将URL插入HTML文档,则应使用htmlencoded变种 ONLY

所以如果你有:

<a href="<?php echo $url;?>">click me!</a>

您应该使用&amp;变体(htmlencoded)

如果你正在做:

header("Location: " . $url);

或其他不是第一种情况, htmlencode。