301跳转规则的复杂写法及详细解读
发布时间:2018-10-22 23:29:19作者:魏义齐阅读:()
如果是仅仅换了域名,大家可以参考我的文章“干货分享:网站更换域名的五点经验总结”中第四点在iis上设置(本文所述皆以windows2008服务器为例)。
最近我的博客全站静态化,静态化之前移动了部分文章所属栏目,所以收录的动态链接跟现在要做跳转的静态链接之间的关系真的是乱的一笔,百度怎么写跳转规则花了两小时,写跳转规则花了三小时(近280对乱七八糟的url对)。
本文以我的一个phpcms程序模板站的文章页和栏目页动静链接为例,来讲复杂url链接对的301跳转规则写法,先看一组文章页的url对:

它在web.config中写法如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <system.webServer>
- <rewrite>
- <rules>
- <rule name="catid11-show" stopProcessing="true">
- <match url="^index.php$" ignoreCase="false" />
- <conditions logicalGrouping="MatchAll">
- <add input="{QUERY_STRING}" pattern="^m=content&c=index&a=show&catid=11&id=2$" />
- </conditions>
- <action type="Redirect" url="/html/cjwt/2.html" appendQueryString="false" redirectType="Permanent" />
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>
如果是同一栏目下的两个文章页,比如:
只需将id=2$改为id=(2|3)$,url="/html/cjwt/2.html"改为url="/html/cjwt/{c:1}.html"即可。
大部分人应该都有这样几个疑问:
1.name="catid11-show"是什么意思?
它只是我用来区分url规则的命名而已,跟里面的跳转规则没有任何关系,需要注意的是这个命名不能相同,否则会出现500错误
2.{QUERY_STRING}
详情大家可以看文章:Rewrite %{QUERY_STRING}用法(http://www.softwhy.com/article-8510-1.html)
3.“&”后面为什么要加“amp;”
其实不是加上,“amp;”就是“&”,只是在html中“&”用“amp;”来表示,来看百度知道里面的一条回答:
突然想到phpcms的生成sitemaps功能的一个bug,就是动态网站生成sitemaps全部把链接里的&替换成&,然后你在浏览器输入转化后的动态链接全部跳转到首页。
4.{c:1}是什么意思?
我也不知道什么意思,因为百度没找到,可能就是web.config文件的一种特殊写法,大家只需要知道如果有多个同一栏目的文章页跳转把文章序号改成{c:1}就行,妥妥的,没问题。
每当添加一条规则,iis里站点的url重写就会多一条入站规则
如果你还想深入了解可以打开iis管理器→点计算机名称→右边点查看网站→站点→url重写→规则上双击进去,看看里面都有什么东东。
了解了以上这些,其实就不复杂了,唯一有点复杂的就是找链接的规律,如果url又杂有多,那不仅需要细心,还需要耐心,因为url对需要在百度搜索资源平台提交作为改版规则,跳转失败可能会一直是部分改版中,这对权重转移和整站的SEO都不是件好事,一个站点两个链接是一样的内容会被百度惩罚的。
上一篇:服务器安装iis+nginx导致网站无法访问的可能性原因下一篇:nginx日志如何获取访客真实ip
原创不易,您的赞助就是博主更新的动力!

赞助本站可在赞助光荣榜留下外链信息,支付宝扫此二维码可领红包
-
weiyiqi
- webm视频不能播放的原因(1965)
- 301跳转规则的复杂写法及详细解读(947)
- win2008r2系统windows update安装更新始终失败的解决方法(906)
- 护卫神中服务器出现HTTP错误401.3-Unauthorized如何解决(765)
- nginx日志如何获取访客真实ip(757)
- 如何给服务器设置自动重启(696)
- 服务器安装iis+nginx导致网站无法访问的可能性原因(472)
- 重要:西数windows服务器用户请自行下载安装漏洞CVE-2019-0708的补丁,本文是教程(450)
- 记录百度搜索资源平台验证改版规则的一个坑(358)
- ASP网站搬家后出现500错误如何解决?(293)
- Windows Server 2012使用技巧汇总(2021-07-27)
- Windows Modules Installer Worker导致CPU和内存飙升的彻底性解决方法(2021-07-26)
- Win2008升级Win2012常见问题及解决方法(2020-10-18)
- 数据库名和密码都正确为何还是连接不到数据库?添加了mime类型为何mp4依然无法播放?(2019-12-01)
- win2008r2系统windows update安装更新始终失败的解决方法(2019-07-03)