PHP如何在特定网址到来时重定向到另一个页面

时间:2012-05-27 11:31:21

标签: php url routes

我想开发一个URL路由器,当一个特定的URL出现时,我将我的程序重定向到一个特定的URL。它甚至可能吗? 提前谢谢......

2 个答案:

答案 0 :(得分:1)

您可以发送HTTP标头重定向到另一个页面:

header("Location: foo.php");

...或完整网址:

header("Location: http://www.google.co.uk/");

请注意,您应该在任何其他输出(即回声)之前发送标题。

答案 1 :(得分:0)

如果你想测试'特定'网址,你需要先构建它:

$ssl = "";
if ((isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"]=="on") || (isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"]=="443")) 
   { $ssl = "s"; }

$serverport = ($_SERVER["SERVER_PORT"]!="80"?":".$_SERVER["SERVER_PORT"]:"");

$theurl = "http".$ssl."://".$_SERVER["SERVER_NAME"].$serverport.$_SERVER["REQUEST_URI"];

然后,您可以针对另一个网址(或其中的数组)进行测试:

if ($theurl != $myurl) {
   header("Location: index.php");
}

针对一系列网址:

if (in_array($theurl,$myurls)) {
   header("Location: index.php");
}