Помогите написать одно условие для редиректа

Статус
В этой теме нельзя размещать новые ответы.

vesta-v

Старатель
Регистрация
25 Окт 2007
Сообщения
311
Реакции
14
Доброй ночи, никак не могу сделать один редирект. Вобщем сайт на dle, там получается такая штука, например: site.ru/2010/11/02/page/4/, является дублем site.ru/page/4/, как написать условие, чтобы если встречались даты или какие-нибудь цифры перед /page/ происходил редирект на главную. Вот например редирект на морду с /page/1/:

Код:
RewriteRule ^(.*)page/1/?$ /$1 [L,R=301]
, что там спереди ( и внутри вместо 1 ) нужно дописать чтобы если перед пейджами появлялись цифры, происходил редирект на главную?
 
А переключить тип ЧПУ в админке не вариант?
 
попробуй так
Код:
RewriteRule ^(.*)page/\d*/?$ /$1 [L,R=301]
 
А переключить тип ЧПУ в админке не вариант?
Да нет, итак после этих гугловских фильтров позиции просели, а так боюсь вообще все улетит, поэтому не хочу рисковать. Или я не права?

Код:
RewriteRule ^(.*)page/\d*/?$ /$1 [L,R=301]
, так не работает, из старницы site.ru/2010/11/02/page/2/, обрезает page/2/ оставляя при этом (редиректит на) site.ru/2010/11/02/, а нужно наоборот. Также при переходе по категориям site.ru/category/page/2,3 и т.д/, редиректит на site.ru/category/, а нужно чтобы редирект срабатывал только если вначале идет архив, т.е простые цифры.
 
редерект на главную будет так
Код:
RewriteRule ^(.*)page/\d*/?$ http://site.ru/ [L,R=301]

а вообще внятный прямой пример приведи какой url надо на какой перебросить

а то в тексте написано цифра ПЕРЕД page
а в регулярке указываешь ПОСЛЕ

я приведённую регулярку подправил так чтобы реагировала на все цифры
если она изначально была идейно неправильная я тут не при чём
 
а то в тексте написано цифра ПЕРЕД page
а в регулярке указываешь ПОСЛЕ

оно то все так, но, Вы видимо меня просто неправильно поняли, с тем кодом который вы мне дали происходит редирект со всех site.ru/page/2,3,4/ и т.д/, а нужно чтобы это происхдило только в том случае если перед ( пример: site.ru/2012/11/01/page/2,3,4/) Т.е сделать условие: если перед страницой ../page/x/.. имеется цифра, делаем редирект на морду сайта. ( RewriteRule ^(.*)page/\d*/?$ Для просмотра ссылки Войди или Зарегистрируйся [L,R=301] ). Там где выделено красным нужно добавить условие ?.. Возможно туда нужно вставить нечто похожее на такую конструкцию {1,9}, но я при эксперемнтах постоянно натыкаюсь на различные глюки, поэтому прошу помощи у вас. Очень буду благодрна за помощь, заранее спасибо.
 
пробуйте так
Код:
RewriteRule ^(.*)/\d*/page http://site.ru/ [L,R=301]
должно работать, как надо...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху