• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Помощь 301 редирект для диапазона страниц

sonicm

Борщ
Регистрация
15 Май 2009
Сообщения
244
Реакции
141
Добрый день, коллеги!

Подскажите как правильно настроить 301 редирект для диапазона страниц:
с Для просмотра ссылки Войди или Зарегистрируйся/ до 1025224
на Для просмотра ссылки Войди или Зарегистрируйся

Т.е. страницы:
Для просмотра ссылки Войди или Зарегистрируйся/
Для просмотра ссылки Войди или Зарегистрируйся/
Для просмотра ссылки Войди или Зарегистрируйся/
и тд. до 1025224, должны переадресовываться на Для просмотра ссылки Войди или Зарегистрируйся
 
Как вариант для секретарш - поставить модуль редиректов, в Экселе составить ссылки, сохранить в csv и импортнуть в модуль))
 
а правило для htaccess нельзя написать ? с регулярным выражением каким...

На Тостере посоветовали так:
Код:
<IfModule mod_rewrite.c>
  RewriteCond %{REQUEST_URI} program/advertising-messages/([0-9]{1,})/
  RewriteCond %1 >291907
  RewriteCond %1 <1025225
  RewriteRule ^(.*)$ %1 [R=301,L]
</IfModule>

но не работает... (
 
Последнее редактирование:
Шаблон ^program/advertising-messages/(\d+)/$
(\d+) - любое число.

Для составления регулярки под диапазон чисел 291908 - 1025224 можно воспользоваться инструментом Для просмотра ссылки Войди или Зарегистрируйся
Получается громоздкое выражение (29190[89]|2919[1-9][0-9]|29[2-9][0-9]{3}|[3-9][0-9]{5}|10[01][0-9]{4}|102[0-4][0-9]{3}|1025[01][0-9]{2}|10252[01][0-9]|102522[0-4]).
Тут удобнее использовать не регулярки, а обычное сравнение строк. В конструкции RewriteCond можно выполнять лексикографические сравнения строк.
Код:
RewriteCond $1  >=291908
RewriteCond $1  <=1025224
RewriteRule ^program/advertising-messages/(\d+)/$ https://site.ru/events/advertising-messages/ [R=301,L]
Ну и ставить выше остальных правил в самое начало сразу после RewriteEngine On.


>= <= доступны начиная с Apache 2.4, а в более старых версиях было доступно только строгое сравнение больше меньше, так что для старых версий нужно сдвинуть границы диапазона.
Код:
RewriteCond $1  >291907
RewriteCond $1  <1025225
 
Все работает. Спасибо! Можно закрывать )
 
Пока не закрыли, :) задам вопрос! Как отследить переходы по ссылке на которой настроен 301 редирект?
 
В статистике используемого модуля можно посмотреть
 
Пока не закрыли, :) задам вопрос! Как отследить переходы по ссылке на которой настроен 301 редирект?
через сокращатель ссылок от гугла, он считает переходы по сокращенной ссылке
 
Назад
Сверху