跳转关系与规则不符要怎么办?

栏目:建站技术 2022-04-20

为了能够把这个问题解释清楚,这里我用实例来给大家分析一下跳转关系与规则不符的这个问题,

一:先来看一下我的新旧url
新旧url链接文件:gaiban.txt中的内容
域名/productshow.php?id=29 域名/sbzsshow.php?id=29
域名/productshow.php?id=2 域名/cpzsshow.php?id=78

二:再来看一下productshow.php文件中重定向的代码
$txt = file_get_contents('gaiban.txt');
$result = preg_split('/[;]+/s', $txt);
$oldurl = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
foreach ($result as $key => $value) {
  if(!(strpos($oldurl,"www") !==false)){
      $oldurl = "www.".$oldurl;
  }
  if(strpos($value,'http://'.$oldurl) !==false){
      $arr = explode(" ", $value);
      header('HTTP/1.1 301 Moved Permanently');
      Header("Location:".$arr[1]);
      exit;
  }
}将上面的新旧url提交给百度之后,就会提示productshow.php?id=2这个链接跳转关系与规则不符,那么为什么是productshow.php?id=2而不是productshow.php?id=29呢?

因为在上向在重定向的代码中在搜索匹配时没有考虑到旧url后面的空格,所以当前旧的网址如果是productshow.php?id=2的时候会先匹配到productshow.php?id=29,所以就重定向到了sbzsshow.php?id=29了,而productshow.php?id=29也是重定向了sbzsshow.php?id=29,所以有两个不同的旧的url指向了同一个新的url,所以才导致了链接跳转关系与规则不符,所以要解决这个问题的办法就是在搜索匹配旧url的时候一定要考虑到空格,所以上面的重定向的代码$oldurl = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];改成$oldurl = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']." ";之后,就可以了

相关阅读

用火狐打开百度一直加载s1.bdstatic.com的解决办…

2020-10-10695

一直用火狐浏览器,火狐浏览器插件多,很合适网页开发人员使用,以前一直用的好好的,但是今天使用的时候突然发现没有以前好用了,打开百度的官网一直很卡,通过FIREBGU发现在打开百度官网的时候一直会加载s1.bdstatic.com这个网站,无语,怎么打开百度的官网还需要链接s1.bdstatic.com这个网站这个网站吗?难道是百度被黑了,或者是自己的浏览器被…

qq收不到或发不了图片及解决方案

2020-10-10230

要想解决qq收不到图片或是发不了图片,就要首先弄清楚原因何在?只有找到了原因,才能有的放矢,然后提出我们自己的解决方案,以至于最后彻底解决。第一种显而易见的原因是当时你所在地的网络特别慢,以至于QQ只能发送些文字,图片以文件的方法一发就卡住,或是以截图的方式发过去,对方看到的图片始终是处于加载过程的“小漏斗”状,最后就显示叉叉。还有另外一种情况,就是本身的网…

asp用正则批量替换过滤表中所有行的内容中的图片

2020-10-1025

SetHF=NewRegExp'建立正则表达式。HF.Pattern="《img[^>]*>"'设置模式、《请替换成英文的左尖括号。HF.IgnoreCase=True'设置是否区分字符大小写。HF.Global=True'设置全局可用性。Setconn=Server.CreateObject(…

常用批量替换的正则表达式-批量删除tppabs

2020-10-1056

匹配一行的开头,然后在一行开头前加入指定字符串,比如修改hosts文件在域名前面加入127.0.0.1^(.{1,})127.0.0.1$1如果是sublimeText编辑器,按ctrl+H,然后在弹出的窗口中点击“.*”,如果要匹配一行的行尾,则是^(.{1,})$匹配A标签的超连接的正则表式如下$pattern="/<a[^>]+?…

AJAX随机调用数组中不重复的元素

2020-10-1023

读以记事本中的网址,记事本里中有多个网址,每个一行,然后使用AJAX循环请求随机出来的部分不重复的网址setsrmObj=server.CreateObject("adodb.stream")srmObj.type=1srmObj.mode=3srmObj.opensrmObj.Position=0srmObj.LoadFromFile(…

如何将程序添加到右键菜单中?

2020-10-1036

方法一:在HKEY_CLASSES_ROOT*shell下面添加sublime_textCommand,修改Command项的默认值的数据数值为"D:我的文档sublimetext3sublime_text.exe""%1"改了之后此方法你会发现不管选择什么类型的文件都会出现在右键菜单中方法二:修改HKEY_CLASS…