Мне нужна помощь с директивой RedirectMatch Regex.
Мне нужно перенаправить следующий URL-адрес следующим образом:
RedirectMatch 301 ^/category/category-title/(.+)(!?/page/)$ http://example.com/product/category-title/$1
В результате я хочу перенаправить к указанному названию продукта, кроме того, если найдена страница слова:
http://example.com/category/category-title/some-product-title-here
перенаправляет
http://example.com/product/category-title/some-product-title-here
Следующие не совпадают: http://example.com/category/category-title/page/23
РЕДАКТИРОВАТЬ:
У меня есть цикл переадресации со следующими правилами:
RedirectMatch 301 ^/categorie/boulangerie-et-patisserie/((?!/page/).+)$ http://recyclageindustriel.com/produit/boulangerie-et-patisserie/$1
RedirectMatch 301 ^/produit/boulangerie-et-patisserie/page/(.*)$ http://recyclageindustriel.com/categorie/boulangerie-et-patisserie/page/$1
Спасибо за вашу помощь !
Ваш отрицательный синтаксис с неправильным отображением неверен, и он также ошибочен.
Попробуй это:
RedirectMatch 301 ^/categorie/boulangerie-et-patisserie/(?!page/)(.+)$ /produit/boulangerie-et-patisserie/$1
RedirectMatch 301 ^/produit/boulangerie-et-patisserie/page/(.*)$ /categorie/boulangerie-et-patisserie/page/$1
Правильный отрицательный синтаксис lookahead (?!page/)
.
В
http://example.com/category/category-title/.htaccess
включить правило:
RewriteCond %{REQUEST_URI} !^page/
RewriteRule ^(.+)$ http://example.com/product/category-title/$1 [R=301]
Это означает:
Только следуйте за следующим RewriteRule
, если запрошенный URI не начинается со page/
.