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

sonicm

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

Подскажите как правильно настроить 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 редирект?
через сокращатель ссылок от гугла, он считает переходы по сокращенной ссылке
 
Назад
Сверху