网站优化 url地址rewrite处理

网站换了技术类型。需要调整部分url地址。一些url地址做相应的rewrite处理。

nginx中 https://xxx.com/tag/php高手修炼/ 变为https://xxx.com/tags/php高手修炼/ 。tag/后面可以是是任何字符串,变成tags/任何字符串 。这么怎么写跳转

在 nginx 的配置文件中使用 “rewrite” 指令来实现这个跳转。具体的配置方式如下:

1
2
3
4
5
6
server {
    listen 80;
    server_name xxx.com;
    rewrite ^/tag/(.*)$ /tags/$1 permanent;
}

这样就会将所有以 /tag/ 开头的 URL 重定向到 /tags/ 。

注意:这里的 $1 是指匹配的第一个括号中的内容,它会在重定向的 URL 中被替换成对应的值。

还有 redirect 指令可以实现相同的功能,不同的是 rewrite 是永久重定向(permanent),redirect 是临时重定向(temporary)

1
2
3
4
5
6
7
8
server {
    listen 80;
    server_name xxx.com;
    location ~ ^/tag/(.*)$ {
        return 301 /tags/$1;
    }
}

permanent 和last是什么区别 ,如果对于网站seo的角度来说 用last好,还是permanent 好 permanent 和 last 是在使用 “rewrite” 指令时用来指定重定向类型的修饰词。

permanent 指定为永久重定向,浏览器会把这个重定向缓存起来,以后再访问这个地址时直接使用缓存的重定向地址。返回状态码为 301。 last 指定为最后的重定向,意思是如果有多个重定向规则,这个规则是最后执行的。返回状态码为302。 在 SEO 的角度来看,建议使用永久重定向(permanent)。这样可以使搜索引擎知道这个地址的永久变更,并将新地址的权重值传递给新地址。而临时重定向(last)意味着这只是一个暂时的变更,搜索引擎不会将新地址的权重值传递给新地址。

随机文章