我已阅读How to make a redirect in PHP,但其中的所有内容都基于拥有供用户访问的HTML页面。在 my 的情况下,我只是将用户发送到以.php结尾的地址,然后将它们重定向到两个地方之一。
这是完整的.php文件:
<?php
$num = Rand (1,2);
switch ($num) {
case 1: header('Location: http://blah.com/blah'); // "shortURL2"
break;
case 2: header('Location: http://yadda.com/yadda'); // "shortURL3"
break;
}
?>
它似乎在我的所有测试中都运行良好,但我想确保那里没有任何边缘(或不那么边缘)的案例用户可能会在此处重定向问题(诚然,错综复杂的路径:
shortURL1.com→ 1 longURL1 .php → 2 shortURL [2 | 3] .com→ 3 longURL [2 | 3] .com
我已经知道这不是做任何事情的理想方式。这就是各种限制给我带来的,如果这些可以改变,我会分享它们。我只想说这就是我所拥有的,在这一点上我只需要确保点击此链接的每个人都会在两个网站中的某个网站上停留,而不会在某种 no中浮动-php-for-me-thanks limbo。 。 。或者更糟。
答案 0 :(得分:1)
这取决于您是否正在使用一些利用Front Controller模式的(MVC)框架 - 初始化资源,数据库等的单入口点PHP ...然后基于请求路由请求(在Controller对象上调用方法)请求网址
或
您使用一些非常简单的Web应用程序,其中每个.php文件本身都是一个Front Controller(负责包含另一个.php文件以进行数据库连接等)
在第一种情况下,框架将不允许您调用其他文件(.htaccess限制),调用将抛出异常(文件尝试使用未初始化/可用的对象)或根本没有任何事情发生(您的文件)只包含一些本身没有任何作用的类定义。
在第二种情况下,您需要保护敏感文件(如db.php与数据库登录/密码),以确保它不会以某种方式打印出其内容(或更好,以确保它不能直接调用,只包括在其他.php文件中)
答案 1 :(得分:0)
在您HTML
文件中的客户端(通过.php
)显示一些秘密之前,没有问题。