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

栏目:建站技术 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-10720

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

手机访问电脑网时自动跳转代码

2020-10-1087

4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…

如何让你的PHP网站变得更安全

2020-10-1082

安全配置一(1)打开php的安全模式php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:safe_mode=on(2)用户组安全当safe_mode打开时,sa…

如何解决网站上传大文件的问题?

2020-10-10119

为了服务器的网络安全,避免因为超大文件导致服务器故障,所以对文件上传的大小限制是很有必要的,但是有些客户又有上传大文件的需求,比如上传pdf或者压缩包这种格式的文件,那么碰到这种情况下,如何解决这个问题呢?在浏览器输出phpinfo();查看LoadedConfigurationFile这个参数可以获取php.info的文件位置1:如果上传的文件太大,会导致…

为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?

2020-10-10454

为什么小程序的页面有二次跳转时会瞬间显示一下第一次的页面再跳转呢?navigateToredirectToswitchTabtabBar先来看示例代码并且在微信开发者工具上测试下面看示例代码共有三个页面,分别是indexproductshowcartindex的js与wxmlPage({/*跳转到商品详情*/toProductshow:function(ev…

如何解决QQ显示未启用的问题

2024-08-8247

没设置临时会话,一般都会出现下面的状况。QQ放在网站上作为客服,必须设置临时会话。或者点击之后,要求加为好友才可以对话。解决这个问题的步骤如下:一、登陆腾讯官方网站:http://wp.qq.com/二、登陆之后,点“设置”,按下图所示,全部打勾。这个必须设置,不设置,不能临时会话,就会显示“未启用”。这一步是关键,必须设置。(1)先看服务有没被停用:如停用…