Для cms (joomla), работающей на nginx+php-fpm, нужно сделать редирект для страниц пагинации, возвращающих 404.
Например в категории auto есть 4 страницы пагинации:
/auto.html
/auto/page-2.html
/auto/page-3.html
/auto/page-4.html
Нужно чтобы остальные, не существующие страницы этой категории (/auto/page-5.html ... /auto/page-999.html) возвращали 301 редирект на первую страницу категории (/auto.html).
Категорий много, сайт наполняется, поэтому когда движок сайта со страницы /auto/page-5.html начнет выдавать не 404, а 200 редирект в nginx должен перестать работать.
Код, который, вроде, должен работать, редиректит (на /auto.html) и существующие страницы (/auto/page-2.html ... /auto/page-4.html) и не существующие (/auto/page-5.html.../auto/page-999.html).
location ~* /(auto)/page-\d+\.html {
error_page 404 = @page;
}
location @page {
rewrite /(.*?)/page-\d+\.html http://site.ru/$1.html permanent;
}
error_page 404 =404 /404.html;
location ~* \.php$ {
include fastcgi_def;
}
location / {try_files $uri /index.php?$args;}