Назад | Перейти на главную страницу

Nginx + Wordpress: перенаправление URL-адресов после перехода на Wordpress

У меня есть сайт тематических объявлений, использующий проприетарный скрипт, и теперь я перемещаю его на Wordpress. Я хочу перенаправить старые URL-адреса на URL-адреса Wordpress.
В скрипте есть два основных типа URL:

  1. URL категории:
    /category/id-of-category[/page-number ]/category-name.html
    например.:
    /category/15/cars.html
    /category/15/3/cars.html (3 для разбивки на страницы)
    он должен перенаправить на /? cat = 15

  2. Листинг URL:
    /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-адрес в том же доменном имени.

Что вы делаете с номером страницы?

Во всяком случае, если предположить id-of-* и номер страницы может быть представлен как минимум одним символом диапазона [0-9] и category-name и ad-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).

Обновить : исправлена ​​вторая локация группы кошек.