1

我有这个旧网址来自我们以前的网站

http://site.com/fixed-word/changeing-category/12345-title-of-story

“变量”在哪里

不断变化的类别:例如体育、政治等。

12345-title-of-story:12345 是旧的 id,其余的是故事 slug/title

新站点仅使用这种格式的故事片段

http://site.com/another-fixed-word/title-of-story

是否可以在 nginx 中创建 301 重写规则来实现这一点?

我试过这个:

重写 ^/fixed-word/([^\?]+)$/([^\?]+)$ /index.php?tipo=old_article&slug=$1 last;

想法是在 php 中获取 slug 并从 slug (12345-) 中删除数字 id 但不起作用,老化返回 404

有什么建议吗?

谢谢

4

1 回答 1

0

这个正则表达式是完全错误的: ^/fixed-word/([^\?]+)$/([^\?]+)$

如果你只需要创建一个 301 重定向,那么你应该使用这个:

location /fixed-word/ {
    rewrite ^/fixed-word/(?:[^/]+)/(?:\d+)-(.+)$ /another-fixed-word/$1 permanent;
}
于 2012-07-11T15:30:33.657 回答