php取来路
‘壹’ php $_SERVER['HTTP_REFERER'] 赋值
$_SERVER是系统变量,不能修改的,就相当于echo它表示输出一样,你不能修改成用echo来当作if用一个道理。
你可以另外定义一个变量,例如
$former_url=".com";
然后下面调用的时候就不调用$_SERVER['HTTP_REFERER'],直接调用自己定义的变量,即$former_url
‘贰’ php获取来路并跳转怎么写
$url=$_SERVER['SCRIPT_URI'].'?'.$_SERVER['QUERY_STRING'];
#这两个拼接,能获取完整的url
if(strpos($url,'abc')!==false||strpos($url,'def')!==false)
{
Header('');
}
‘叁’ php或html网页跳转代码
header()函数:
header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。
header()函数的定义如下:
voidheader(stringstring[,boolreplace[,inthttp_response_code]])
可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。
第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:1.location和“:”号间不能有空格,否则不会跳转。
2.在用header前不能有任何的输出。
3.header后的PHP代码还会被执行。例如,将浏览器重定向到lamp兄弟连官方论坛
<?php
//重定向浏览器
header("Location:http://bbs.
lampbrother.net");
//确保重定向后,后续代码不会被执行
exit;
?>
PHP页面跳转二、Meta标签
Meta标签是HTML中负责提供文档元信息的标签,在PHP程序中使用该标签,也可以实现页面跳转。 若定义http-equiv为refresh,则打开该页面时将根据content规定的值在一定时间内跳转到相应页面。
若设置content="秒数;url=网址",则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到LAMP兄弟连官方论坛。
<metahttp-equiv="refresh"content="1;url=http://bbs.lampbrother.net">
例如,以下程序meta.php实现在该页面中停留一秒后页面自动跳转到bbs.lampbrother.net。
<?php$url="http://bbs.lampbrother.net";?><html><head><metahttp-equiv="refresh"content="1;url=<?phpecho$url;?>"></head><body>
PHP页面跳转三、javaScript
例如,此代码可以放在程序中的任何合法位置。
<?php$url="http://bbs.lampbrother.net";echo"<scriptlanguage='javascript'type='text/javascript'>";echo"window.location.href='$url'";echo"</script>";?>
‘肆’ 如何用PHP判断搜索引擎蜘蛛来路急!
一下是DZ代码中的实现细节,你可以参考一下: 其实PHP有个很简单的方式去实现,通过_SERVER这个预定义变量中的_SERVER['HTTP_USER_AGENT']可以取得访问者的属性,具体可以看下Diiscuz!是如何判断搜索引擎的,函数代码如下:
function getrobot() {
if(!defined('IS_ROBOT')) {
kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/(kw_browsers)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
} elseif(preg_match("/(kw_spiders)/", _SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', TRUE);
} else {
define('IS_ROBOT', FALSE);
}
}
return IS_ROBOT;
}
根据上面还可以精简如下:
if(preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", _SERVER['HTTP_USER_AGENT'])) {
echo 'robot';
}
如果你需要返回详细的搜索引擎名称,而不是是否是搜索引擎机器人的话,请看下面的代码:
function get_naps_bot() {
useragent = strtolower(_SERVER['HTTP_USER_AGENT']);
if (strpos(useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos(useragent, 'msnbot') !== false){
return 'MSNbot';
}
if (strpos(useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos(useragent, 'spider') !== false){
return 'Baispider';
}
if (strpos(useragent, 'sohu-search') !== false){
return 'Sohubot';
}
if (strpos(useragent, 'lycos') !== false){
return 'Lycos';
}
if (strpos(useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}
‘伍’ php中判断网页来路并实现跳转的方法
通过$_SERVER['HTTP_REFERER']获取请求路径,然后跟你自己网站的路径比较下,之后做出判断用header("location:___URL___");跳转就可以了!你应该是想实现防盗链。
‘陆’ PHP获取来路域名
$url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
$str = str_replace("http://","",$url); //去掉http://
$strdomain = explode("/",$str); // 以“/”分开成数组
$domain = $strdomain[0]; //取第一个“/”以前的字符
用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
$_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名