Вопрос по регулярке

[Удален]
497

Как известно Джумла славится дублями, а Joomla 1,0 это вообще трындец. Пытаюсь склеить дубли регулярками.

Вроде победил все дубли но Гугл собака нашел и тут лазейку.

Структура урлов на сайте такая

/content/view/id/2 и вот вместо 2 можно было писать любый цифры и роботы ПС эти лже ссылки как-то находили. Вот состряпал регулярку, чтобы все левые ссылки перенаправлялись на правильные

RewriteRule ^content/view/([0-9]+)/$ /content/view/$1/2 [R=301,L]
RewriteRule ^content/view/([0-9]+)$ /content/view/$1/2 [R=301,L]
RewriteRule ^content/view/([0-9]+)/([^2]*)$ /content/view/$1/2 [R=301,L]
RewriteRule ^content/view/([0-9]+)/2(.+)$ /content/view/$1/2 [R=301,L]

Но почему то если в конечной цифре встречается цифра 2 то переадресации не происходит. Вот пример непобедимых пока дублей

/content/view/id/22

/content/view/id/202

/content/view/id/42

/content/view/id/72 пофигу какая цифра - лишь бы двойка была. Как пофиксить сей баг?

ПОчему регулярка не работает с этими урлами?

siv1987
На сайте с 02.04.2009
Offline
427
#1

RewriteCond %{RQUEST_URI} !/2$

RewriteRule ^content/view/([0-9]+)/? /content/view/$1/2 [R=301,L]

[Удален]
#2

Нет Ваш Вариант вызывал зацикливание, вот что сработало

RewriteRule ^content/view/([0-9]+)/(.+)2$ /content/view/$1/2 [R=301,L]

siv1987
На сайте с 02.04.2009
Offline
427
#3
Ваш Вариант вызывал зацикливание

RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteCond %{REQUEST_URI} !/2$

RewriteRule ^content/view/([0-9]+)/? /content/view/$1/2 [R=301,L]

Все ваши редиректы заменить на это

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий