我希望我的index.php重定向到我的welcome / index.html。我知道有很多方法可以做到,但我想像Facebook一样缩短它。我想要一个基于网址的重定向。我想通过使用url将index.php重定向到welcome / index.html。
例如:
example.com to example.com/?url=welcome
//this 'url=welcome' is the index.html of my welcome folder.
答案 0 :(得分:2)
根据我所理解的,这里是代码。将它放在index.php
的最顶部。我假设您正在使用域example.com
<?php
$destination = $_GET["url"];
switch($destination) {
case "welcome": // add your destinations here, one per single "case"
case "about":
case "anotherpage":
header("Location: /" . $destination . "/index.html");
break;
default:
echo "Error";
break;
}
?>
通过这种方式,您可以管理哪些重定向将起作用,哪些不起作用,避免&#34; evil&#34;您的重定向系统的用法。
像example.com?url=http://evilsite.com
这样的恶意内容不会将其重定向到evilsite.com
这可能不是最佳解决方案,但它是避免不想重定向的良好起点。
答案 1 :(得分:0)
不确定这是否会有所帮助,但欢迎您尝试
<?php
if (isset($_GET["url"])) {
$url = $_GET['url'];
header('Location:'.$url);
}
?>
我没试过这个,但这是我在看到你的帖子之后的想法
答案 2 :(得分:0)
我使用标题进行重定向读取的地方有点危险,因为黑客可以轻易地改变标题,黑客可以轻松地将受害者发送到另一个位置。所以我使用javascript location.href 函数进行重定向。
<?php
echo "<script>window.location ='http://example.com/welcome/index.html</script>";
?>
如果您想将用户从example.com发送到动态网址,您可以设置一个get变量。
来源地址:http // example.com?url = http://example.com/welcome.html 目的地址:http://example.com/welcome.html
<?php
if(isset($_GET['url']))
echo "<script>window.location ='$_GET[url]'</script>";
else
echo "<script>window.location='http://somewhereelse.com'";
?>
现在,您可以在源地址中动态设置url变量,并将用户重定向到任何地方