Как реализовать перенаправление с отрицанием в nginx?
Например так:location /category/ {
    # если URI заканчивается на XXX.html,
    # то реврайтим в то же самое и прекращаем обработку.
    rewrite "^(.+\d{1,4}\.html)$" $1 break;
    # у всего остального заменяем `.html` на `/`
    rewrite "^(.+)\.html$" $1/;
}{1,4} можно заменить на + если количество цифр не принципиально.
все URL вида /category/*.html за исключением URL вида /category/*/XXX.html/category/[^/]*\.html
P.S. в буквенной последовательности кроме букв могут встречаться символы слэша, тире и цифры
Тогда /category/*.html ничем не будет отличаться от /category/*/XXX.html