文档章节

百度单方面修改网站url导致大量404

perofu
 perofu
发布于 2015/11/12 17:14
字数 581
阅读 207
收藏 2

    百度抓取到的内容,用户搜索并访问后,百度改写了url(域名之后的第二个目录),导致出现大量的404,交涉无果,没办法,只能自己修复

1、需求:

        百度给出的url                                                                                正确的url
http://g.perofu.com.cn/x/222/1112345.html      —301——》 http://g.perofu.com.cn/x/111/1112345.htm

    将文章id的前三位数,rewrite到x之后的目录,即不管x之后的第一个目录是什么,都换成文章id的前三位数

2、网站文章规则:
http://g.perofu.com.cn/x/{文章id减后4位}/{文章id}.html

3、错误配置:
#此location,只是做了upstream,url不会变,也可以拿到数据,这样对seo有影响
location ~ '^/x/([\d]{3})/([\d]{3})([\d]{4})\.html$' {
          rewrite ''^/x/([\d]{3})/([\d]{3})([\d]{4})\.html$''       /wap/x/$2/$2$3.html   break;
          proxy_set_header Host 'g.perofu.com.cn';
          proxy_next_upstream http_502 http_504 error timeout invalid_header;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_redirect      off;
          proxy_connect_timeout 10;
          proxy_read_timeout 60;
          proxy_pass http://WAPATS;
     }

 4、正确配置:

(由于文件不在同个应用下,所以有点麻烦,可能有点乱,主要还是看location吧)

                client     ---> 

                     | 

本机([公网:g.perofu.com.cn],location修改url,再upstream 到ATS)

                     |

                 其他机器

(g.perofu.com.cn仅是虚拟主机,需要配置location,确定文件路径,否则会报404,/data/www/web/3g/是g.perofu.com.cn的主目录且没有其他location,除了/,需要新加上location,把root写为/data/www/web/3g/wap/,用上面的方法,rewrite是有加上/wap的,301只是改写url,请求到其他机器是无法找到url的,因为少了一层目录)

#http://g.perofu.com.cn/x/222/1112345.html   --->   http://g.perofu.com.cn/x/111/1112345.html
#upstream后端需要增加location,把root写为/data1/www/web/3g/wap/,否则报404
location ~ '^/x/([\d]{3})/([\d]{3})([\d]{4})\.html$' {
                set $dir1 $1;
                set $dir2 $2;
                set $file3 $3;
                if  ( $dir1 != $dir2 ) {
                    rewrite ^/x/(.*)  http://g.perofu.com.cn/x/$dir2/$dir2$file3.html permanent;
                }
          proxy_set_header Host 'g.perofu.com.cn';
          proxy_next_upstream http_502 http_504 error timeout invalid_header;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_redirect      off;
          proxy_connect_timeout 10;
          proxy_read_timeout 60;
          proxy_pass http://WAPATS;
     }    


#其他机器
server {
    server_name g.perofu.com.cn;
    set $adddir '/3g';
    root /data/www/web$adddir;
    access_log /data/nginx/logs/3g.access.log tpynormal;

#g.pconline.com.cn,301,需要加上,可查看前端的location ~ '^/x/([\d]{3})/([\d]{3})([\d]{4})\.html$'
location ~  '^/x/([\d]{3})/([\d]{3})([\d]{4})\.html$' {
         root /data/www/web/3g/wap/;
}

}

© 著作权归作者所有

共有 人打赏支持
perofu
粉丝 127
博文 152
码字总数 131036
作品 0
广州
系统管理员
加载中

评论(4)

perofu
perofu
之后有单独测试,环境一样,只是location写定了,就可以,看了是qq浏览器的问题
#test
location ~ ^/x/318/7182936.html$ {
perofu
perofu
之后有单独测试,环境一样,只是location写定了,就可以,看了是qq浏览器的问题
#test
location ~ ^/x/318/7182936.html$ {
perofu
perofu
之后又出现新问题,pc端和手机其他浏览器都是ok的,就qq浏览器和微信,打开有问题,即使是正确的url,也会出现404,WTF32,没办法,只能回退了
perofu
perofu
如果多给出几个目录,那真的就没办法了!!!
http://g.perofu.com.cn/x/sb/sb/sb/222/1112345.html
百度站长工具使用指南

大家好,今天小编将给大家分享一下百度站长平台站长工具的详细使用方法。相信很多朋友都对百度站长工具使用方法 不够清楚,如果你觉得自己没用到家的,请跟小编的思路,把它使用方法学习一遍...

跟版网
2016/03/14
77
0
处理解决网站被百度网址安全中心提醒您:该页面可能存在违法信息!的方案分享

2018年6月26日我们Sine安全公司接到新客户的安全求助,网站被阿里云提示:违规URL屏蔽访问处理通知,导致网站无法访问,打开网站并提示该内容被禁止访问。导致客户的网站流量急剧下滑,网站的...

网站安全
06/26
0
0
【ASP.NET 问题】ASP.NET 网站404页面返回200,或者302的解决办法

做网站在优化网站时遇到了跳转404页面却返回 200、302状态的问题,这样的话搜索引擎会认为这个页面是一个正常的页面,但是这个页面实际是个错误页面,虽然对访问的用户而言,HTTP状态码是“4...

叶超Luka
07/30
0
0
APACHE_自定义404错误页面

方法一: 在httpd.conf中设置对目录开启。 AllowOverride All 然后在目录里放一个.htaccess(.htaccess),添加: errorDocument 404 /404.php 1.这个的内容根据你的情况改写 。可是有时候当你...

喵王不瞌睡
2014/03/29
0
0
用shell进行log分析--老狼

ITSEO学员老狼投稿文章首发,转载请注明出处! 锄禾日当午,日志分析为何非要费时一上午呢……………….. 一、开篇要说的话 为何要日志分析昆哥说了:“首先要知道数据做什么用,怎么用,分析...

刀心
2015/06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
25分钟前
1
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
30分钟前
3
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
40分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
41分钟前
2
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
43分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部