搜外网>搜外问答>问答页面

求一个Nginx的301规则 悬赏3元 已结束

原url

www.xxxx.com/post-1.html

想要301到

www.xxxx.com/post/1.html

追加问题
    9 人参与回答
seoer
seoer · seo站群
简单收录网 等 1 人赞同该回答

1:使用rewrite指令,通过正则匹配所有的URI后再去掉开头第一个/(反斜线)。

1rewrite ^/(.*)$ $1;

2:同样使用rewrite指令,不同的是通过$request_uri变量匹配所有的URI。

1rewrite ^ $request_uri? permanent;

这样写的好处是省去了去掉开头第一个反斜线的过程,正则匹配上性能更优。

3:使用return指令,通过301状态码和$request_uri参数,直接告诉Nginx这是个301重定向和抓取指定URI。

1return 301 $request_uri;

这种方法是性能上最优的,因为rewrite指令有很多写法和规则,执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向。

(1)rewrite ^/(.*)$ $1

(2)rewrite ^ $request_uri? permanent;

(3)1return 301 $request_uri;

执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向。

只有这一个页面还是这种格式的所以

301要到服务器供应商哪里去弄,哪里应该会有一些意见

三九问答
三九问答 · 专业的有问必答平台

有需要可以联系我,这个容易写

我记得好像宝塔面板直接就能设置!

301重定向问题可以去咨询下服务器供应商那里,应该会有建议和反馈

location / {
rewrite ^/post/([0-9]+).html$ /post/-$1\.html last;
}

SEO培训招生中
188