Полезная информация

Примеры использования регулярных выражений

Поддержка Bodysite
Поддержка Bodysite
3 апреля 2018 17:11
+1

Содержание

  1. Синтаксис для регулярных выражений
  2. Редирект со страницы (site.ru/lampochki/) на главную страницу (site.ru)
  3. Редирект с www на без www
  4. Редирект с протокола httpS на http
  5. Редирект с протокола http на httpS
  6. Убрать слово «catalog» из URL
  7. Редирект всех страниц, которые заканчиваются с /opt/ на страницы без /opt/
  8. Редирект всех страниц, которые заканчиваются на домен сайта
  9. Редирект с файловой структуры (lodki.html) на папочную (/lodki/)
  10. Отсечь от URL-адреса все GET-параметры, сделать перенаправление на URL без GET-параметров
  11. Редирект на новый URL с сохранением GET-параметров
  12. Редирект с первой страницы пагинации (/lodki/?page=1) на корневую для всех категорий (/lodki/)
  13. Постраничный редирект с поддомена (spb.site.ru) на основной сайт (site.ru)
  14. Редирект с одной витрины (site.ru/store-1/) на другую (site.ru/store-2/) с постраничной переадресацией
  15. Редирект с одной подпапки (site.ru/store-1/) на основную витрину (site.ru) с постраничной переадресацией
  16. Редирект с даты публикации статей (/blog/2022/01/) в блоге на блог (/blog/)
  17. Редирект с авторов блога (/blog/author/1/) на блог (/blog/)
  18. Редирект с категории 2 уровня (/category/konditsionery/kanalnye-konditsionery/) на новый URL (/category/konditsionery/kanalnye-split-sistemy/) с учетом всех подкатегорий
  19. Редирект со всех подстраниц товаров "отзывы" (reviews) на товар.

Синтаксис для регулярных выражений

Редирект с:
* — абсолютно любой набор символов
^ — начало строки (в том случае, если используется в начале выражения)
$ — конец строки
\ — «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом;

Редирект на:
$1 — будет возвращать содержимое первого любого набора символов (*)
$2 — будет возвращать содержимое второго любых набора символов (*) и т.д.

1. Задача: Сделать редирект со страницы (site.ru/lampochki/) на главную страницу (site.ru)

Решение: Поставить редирект с /lampochki/ на https://site.ru

2. Задача: Перевести сайт с www (www.site.ru) на без www (site.ru).

Решение: Поставить редирект с www\.* на $1.

3. Задача: Перейти с протокола https (https://site.ru/) на http (http://site.ru/).

Решение: Добавить редирект с https://* на http://$1

4. Задача: Перейти с протокола http (http://site.ru/) на https (https://site.ru/).

Решение: Добавить редирект с http://* на https://$1.

5. Задача: Убрать слово «catalog» из URL

И перейти с адресов http://site.ru/catalog/monitor/ на адреса http://site.ru/monitor/.

Решение: Создать редирект с /catalog/* на /$1

6. Задача: Сделать редирект всех страниц, которые заканчиваются с /opt/ на страницы без /opt/.

Решение: Поставить редирект с */opt/ на $1/.


7. Задача: Сделать редирект всех страниц, которые заканчиваются на домен сайта (site.ru).

Решение: Поставить редирект с *//*/site.ru на $1//$2.

8. Задача: Перейти с файловой структуры сайта http://site.ru/contacts.html к папочной http://site.ru/contacts/.

Решение: Создать редирект с *\.html на $1/.

9. Задача: Отсечь от URL-адреса все GET-параметры, сделать перенаправление на URL без GET-параметров.

Решение: Добавить редирект с /my-link/\?* на /my-link/.

Произойдет перенаправление с адресов типа: http://site.ru/my-link/?param=value&color=red на адреса http://site.ru/my-link/.

10. Задача: Перейти на новый URL с сохранением GET-параметров.

Решение: Поставить редирект с /old-category/\?* на /new-category/?$1.

Произойдет перенаправление с адресов типа: http://site.ru/old-category/?param=value&color=red на адреса: http://site.ru/new-category/?param=value&color=red

11. Задача: Сделать редирект с первой страницы пагинации (page=1) на корневую для всех категорий.

Решение: Поставить редирект с *\?*page=1$ на $1.

12. Задача: Сделать постраничный редирект с поддомена на основной сайт.

Решение: Поставить редирект с http://spb.site.ru/* на http://site.ru/$1/.

13. Задача: Перевести сайт с одной витрины (site.ru/store-1/) на другую (site.ru/store-2/) с постраничной переадресацией.

Решение: Поставить редирект с site.ru/store-1/* на site.ru/store-2/$1.

14. Задача: Перевести сайт с одной подпапки (site.ru/store-1/) на основную витрину (site.ru) с постраничной переадресацией.

Решение: Поставить редирект с site.ru/store-1/* на site.ru/$1.

15. Задача: Сделать редирект с даты публикации статей (site.ru/blog/2022/01/ и site.ru/blog/2022/) в блоге на блог(site.ru/blog/)

Решение: Поставить редирект с /blog/2022/* на /blog/.

16. Задача: Сделать редирект с авторов блога (site.ru/blog/author/1/) на блог (site.ru/blog/)

Решение: Поставить редирект с /blog/author/*/ на /blog/.

17. Задача: Сделать редирект с категории 2 уровня (/category/konditsionery/kanalnye-konditsionery/) на новый URL (/category/konditsionery/kanalnye-split-sistemy/) с учетом всех подкатегорий

Решение: Поставить редирект с ^/*/kanalnye-konditsionery/* на /$1/kanalnye-split-sistemy/$2.

18. Задача: Сделать редирект со всех подстраниц товаров "отзывы" (reviews) на товар.

Решение: Поставить редирект с */reviews/ на $1.