我在做!!
我有一个简单的URL重定向脚本,我使用它来重定向访问者到小部件下载页面,再次使用简单的URL字符串
http://www.example.com/get.php?urlid=blue_widget
rest和往常一样,当请求被发送到get.php时,它返回下载登陆页面的url。
现在的问题是:
一切工作正常,当正确的urlid被发送,或者如果它被发送空然后我的get.php重定向到我的主索引页的访问者。当发送未知的(不存在的)urlid时,浏览器返回以下
时发生问题。页面没有正确重定向Firefox检测到服务器正在以某种方式重定向此地址的请求从来没有完成。此问题有时可能由禁用或拒绝接受cookies。
这是我的get.php文件的内容
<?php
$urlid = $_GET['urlid']
if ($urlid == "") {$link = "http://www.example.com/";}
if ($urlid == "blue_widget") {$link = "http://www.example.com/download.php?fileid=blue_widget.doc";}
header ("Location: $link");
exit();
?>
请帮忙
你可以这样做:
<?php
if (isset($_GET['urlid'])) {
switch ($_GET['urlid']) {
case 'blue_widget':
$link = 'http://www.example.com/download.php?fileid=blue_widget.doc';
break;
case 'second_widget':
$link = 'http://www.example.com/download.php?fileid=second_widget.doc';
break;
case 'blabla':
$link = 'http://www.example.com/download.php?fileid=blabla.doc';
break;
default:
$link = 'http://www.example.com/';
}
} else
$link = 'http://www.example.com/';
header("Location: $link");
exit();
我希望它能帮助你!div =)
使用PHP isset函数http://php.net/manual/en/function.isset.php查看是否设置了$_GET['urlid']
您还可以这样做来检查文件是否存在:
if (file_exists(basename($_GET['urlid']).".doc"))
{$link = "http://www.example.com/download.php?fileid=".$_GET['urlid'].".doc";}