Nginx + Wordpress:迁移到 Wordpress 后重定向 URL

Nginx + Wordpress:迁移到 Wordpress 后重定向 URL

我有一个使用专有脚本的分类广告网站,现在我要将其迁移到 Wordpress。我想将旧 URL 重定向到 Wordpress URL。
该脚本有两种主要 URL 类型:

  1. 类别网址:/ category/id-of-category[/page-number]
    /category-name.html
    例如:
    /category/15/cars.html
    /category/15/3/cars.html (3 表示分页)
    它应该重定向到 /?cat=15

  2. 列表网址:
    /category/id-of-category/category-name/listings/id-of-ad/ad-title.html
    例如:
    /category/15/cars/listings/12345/selling-my-old-toyota.html
    它应该重定向到/?p = 12345

我想知道确切的 nginx 配置,以便将永久重定向到同一域名上的新 URL。

答案1

您对页码做了什么?

无论如何,假设id-of-*和页码可以由至少一个范围内的字符表示[0-9],并且category-namead-title可以由至少一个范围内的字符表示[_-a-zA-Z0-9]

location ~ ^/category/(\d+)/?\d*/[-\w]+\.html$ {
    return 301 $scheme://$server_name/?cat=$1;
}

location ~ ^/category/\d+/[-\w]+/listings/(\d+)/[-\w]+\.html$ {
    return 301 $scheme://$server_name/?p=$1;
}

请注意,nginx 正则表达式有点特殊但非常强大(例如,在字母数字范围中添加减号,而不需要像[-_a-zA-Z0-9]使用 grep 那样详细重写整个范围)。

更新:修复第二个位置 catpure 组。

相关内容