工作室注册登录标签云赞助光荣榜

当前位置:首页 > 全栈分享 > 服务器 > 正文

301跳转规则的复杂写法及详细解读

发布时间:2018-10-22 23:29:19作者:魏义齐阅读:()评论:

本文为博主原创文章,未经博主允许不得转载。

个人站长或网站运营人员应该都知道,网站动态转伪静态或纯静态再或者部署ssl都要用到301跳转,但是你们真的了解301跳转吗?

如果是仅仅换了域名,大家可以参考我的文章“干货分享:网站更换域名的五点经验总结”中第四点在iis上设置(本文所述皆以windows2008服务器为例)。

最近我的博客全站静态化,静态化之前移动了部分文章所属栏目,所以收录的动态链接跟现在要做跳转的静态链接之间的关系真的是乱的一笔,百度怎么写跳转规则花了两小时,写跳转规则花了三小时(近280对乱七八糟的url对)。

本文以我的一个phpcms程序模板站的文章页和栏目页动静链接为例,来讲复杂url链接对的301跳转规则写法,先看一组文章页的url对:

它在web.config中写法如下:

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration> 
  3.   <system.webServer> 
  4.     <rewrite> 
  5.       <rules> 
  6.         <rule name="catid11-show" stopProcessing="true"> 
  7.           <match url="^index.php$" ignoreCase="false" /> 
  8.           <conditions logicalGrouping="MatchAll"> 
  9.             <add input="{QUERY_STRING}" pattern="^m=content&amp;c=index&amp;a=show&amp;catid=11&amp;id=2$" /> 
  10.           </conditions> 
  11.           <action type="Redirect" url="/html/cjwt/2.html" appendQueryString="false" redirectType="Permanent" /> 
  12.         </rule> 
  13.       </rules> 
  14.     </rewrite> 
  15.   </system.webServer> 
  16. </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全部把链接里的&替换成&amp;,然后你在浏览器输入转化后的动态链接全部跳转到首页。

4.{c:1}是什么意思?

我也不知道什么意思,因为百度没找到,可能就是web.config文件的一种特殊写法,大家只需要知道如果有多个同一栏目的文章页跳转把文章序号改成{c:1}就行,妥妥的,没问题。

每当添加一条规则,iis里站点的url重写就会多一条入站规则

如果你还想深入了解可以打开iis管理器→点计算机名称→右边点查看网站→站点→url重写→规则上双击进去,看看里面都有什么东东。

了解了以上这些,其实就不复杂了,唯一有点复杂的就是找链接的规律,如果url又杂有多,那不仅需要细心,还需要耐心,因为url对需要在百度搜索资源平台提交作为改版规则,跳转失败可能会一直是部分改版中,这对权重转移和整站的SEO都不是件好事,一个站点两个链接是一样的内容会被百度惩罚的。

本文标签301跳转 ,您可以阅读与「301跳转 」相关的所有文章

魏义齐全栈技术交流:魏义齐全栈技术交流

上一篇:服务器安装iis+nginx导致网站无法访问的可能性原因下一篇:nginx日志如何获取访客真实ip

原创不易,您的赞助就是博主更新的动力!

赞助请备注,8.88元及以上可在赞助光荣榜留下外链信息。

HashOver畅言云评完全自托管的评论系统

工作室注册登录标签云赞助光荣榜

最新会员
  • 东方星雨
  • deanhan
  • 1264822519
  • aini3311
  • a1051020101
  • weiyiqi