最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

RewriteRule将长网址301重定向到短网址教程(htaccess配置)

Linux 太平洋学习网 浏览 评论

之前小编写过一个关于htaccess 301重定向配置相关的教程,就是让用户访问http时自动跳转https网址:点击此处查看教程。那么我们该如何使用htaccess中的RewriteRule规则将一个长网址301重定向到短网址呢?

因为有时候我们改变了网站网址显示规则,以前的老网址已经被百度收录了,网站权重没法恢复,于是我们需要使用301重定向来让权重转移到新的网址上,而新网址又比较短,于是我们就需要使用htaccess RewriteRule来解决此类问题。

例如小编要做下面这个案例:


https://www.tpyyes.com/a/kuozhan/2018/0505/595.html   //旧网址

301重定向到:

https://www.tpyyes.com/a/kuozhan/595.html   //新网址


于是我们可以在这样定义RewriteRule 301重定向规则,在“.htaccess”文件中添加如下代码:

RewriteRule ^a/(.*)/(.*)/(.*)/(.*)\.html$ /a/$1/$4\.html? [L,R=301]

代码配置解析:

我们都知道在旧网址中,第一个参数从“a”目录到595.html这个文件为止,中间有4个目录,每个目录我们可以用(.*)表示,它的意思是说网址中间的每一个目录名称都是任意字符,占位符数字顺序从1到4。

然后再RewriteRule的右边我们看到“/a/$1/$4\.html?”这第二个参数,表示新网址的规则。新网址中$1与$4表示要留下这两个位置的字符,即“kuozhan”与595这两个,所以在访问旧网址之后,会自动301跳转到新网址上了。

注意事项:

因为小编是整个网站都要跳转到新网址上,类目当然不止“a/kuozhan”这一个,比如还有“a/java”等等,由于主目录不确定,所以才用上面的规则来进行301重定向。

如果只有一个网址要做301重定向,那就简单了多了,可以直接这样在“.htaccess”文件中添加代码即可:

RewriteRule ^a/kuozhan/2018/0505/595\.html$ /a/kuozhan/595.html? [L,R=301]

总结:

万变不离其宗,小编也是根据类似上方的单网页跳转才明白多网页RewriteRule的配置规则的,要记得灵活多变哦!

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/linux/966.html

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论