htaccess regra para o URL não terminar com certas palavras

1

Eu preciso reescrever alguns URLs se esses URLs não terminarem com certas palavras. Por exemplo, preciso reescrever o seguinte URL

/category1/subcategory1/aproduct-url-title
to
/category1/fixedword/aproduct-url-title

a reescrita não deve ocorrer para os URLs a seguir, pois eles terminam com determinadas palavras específicas (view-all, p10, p20, p30, de baixo para alto, de alto para baixo) -

/category1/subcategory1/view-all
/category1/subcategory1/p10
/category1/subcategory1/p20
/category1/subcategory1/low-to-high
/category1/subcategory1/high-to-low

Eu tentei com a seguinte regra sem sucesso -

RewriteRule ^(category1|category2)\/(.*)\/(!p[0-9]+|view-all|low-to-high|high-to-low)$ /$1/fixedword/$3

Eu também tentei seguir as regras -

RewriteCond %{REQUEST_URI} !(p[0-9]+|view-all|low-to-high|high-to-low)$
RewriteRule ^(category1|category2)\/(.*)\/(.*)$ /$1/fixedword/$3

Aprecie sua ajuda.

Obrigado

    
por codegeek 20.06.2014 / 11:46

1 resposta

1

Você deve executar uma visão antecipada e capturar negativos.

O RewriteRule correto será parecido com isto:

RewriteRule ^(category1|category2)\/(.*)\/((?!p[0-9]+|view-all|low-to-high|high-to-low).*)$ /product/detail/$3
    
por 20.06.2014 / 12:38