重定向到另一个URL,将其写入自己的URL

时间:2018-09-15 10:19:21

标签: php url

这很可能是不可能的,但是我想问一下,以防万一。

我有一个数据库,其中保存了一些数字(1、2、3 ...)。

我有一个.php页,从中可以读取数字。我将这些数字连接到字符串以获取完整的URL。例如:

$intArticle = $row["article"];
$strURLBase = "example.com/index.php/"
$strLink = $strURLBase . $intArticle;

//And I get "example.com/index.php/1"

但是现在,URL指向外部网站是一个例外,因此我的代码暂时无效。

我知道如何在.php中进行修复,但是我想知道是否可以直接在URL中进行重定向,并将正确的字符串保存在数据库中。例如:

$intArticle = $row["article"];  //In this case, the value of $row["article"] could be, for example, "http://www.externalweb.com"
$strURLBase = "example.com/index.php/"  //This part should be ignore inside the URL
$strLink = $strURLBase . $intArticle;

//I would get "example.com/index.php/http://www.externalweb.com"

我可以在URL内写任何类型的指令(先保存到数据库中,然后连接到$strURLBase),然后再重定向到另一个URL?例如:

example.com/index.php/!$%&_redirec_to("http://www.externalweb.com")

我不想从URL调用任何PHP函数进行重定向。实际上,不应执行任何PHP代码。一切都应该在URL内。

1 个答案:

答案 0 :(得分:0)

尝试一下:

if (!is_numeric($intArticle))
{
header("Location: ".$strLink."");
exit;
}
// your site will continue here, if the article is a number