Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Порядок правил обработки адресов

00 голосов
6
Здравствуйте, скажите пожалуйста - переопределяя адреса страниц, допустимо ли использовать пересекающиеся правила?

Например нужно, чтобы в общем случае все запросы вида:
1. "#^/specialist/([a-z/]+)/#" – вели на work/list.php

а запросы
2. "#^/specialist/admin#" – на work/profile.php
спросил 19 Окт, 13 от Graviti (120 баллов)

6 Ответы

00 голосов
А зачем создавать адреса для реальных каталогов и файлов? :|

Сначала поиск идет по файлам и каталогам, затем срабатывает mod_rewite. ;)
ответил 12 Ноя, 13 от Runnar (1,000 баллов)
00 голосов
Boss IT, например нужно для реализации ЧПУ. :)
"Обработка адресов (UrlRewrite) применяется для того, чтобы скрипт мог отвечать не только по своему физическому, но и по любому другому указаному адресу. <...>"

Нужно сделать так, чтобы сcылка specialist/admin вела на одну страницу, а все остальные: specialist/<любой латинский текст> на другую....
ответил 20 Фев, 14 от Graviti (120 баллов)
00 голосов
Цитата
Ольга пишет:
Boss IT, например нужно для реализации ЧПУ.

В вашем примере достаточно создать запись для обработки этого правила:
Код
Условие: #^/specialist/([a-z/]+)/#
Файл: /specialist/detail.php
Правило: id=$1

Если же вы в каталоге /specialist/ создадите новый каталог например /specialist/temp/, то сначала будет осуществятся поиск на данный каталог, а затем срабатывать привило обработки адреса.

Поэтому смысла во втором правиле нет.
ответил 11 Июнь, 14 от Runnar (1,000 баллов)
00 голосов
Цитата
Boss IT пишет:
В вашем примере достаточно создать запись для обработки этого правила:

Этого недостаточно, потому что мне нужно, чтобы ссылка /specialist/admin вела не на specialist/detail.php, как это следует из первого (общего) правила, а в другое место.

Мне удалось добиться нужного результата, только вручную редактируя urlrewrite.php, поставив запись 2 из примера на первое место. Но дело в том, что в редакторе Битрикса менять порядок записей-правил нельзя, вот и возник вопрос - можно ли это делать в принципе, есть ли гарантия, что так будет работать всегда?
ответил 09 Окт, 14 от Graviti (120 баллов)
00 голосов
Цитата
Boss IT пишет:
Если же вы в каталоге /specialist/ создадите новый каталог например /specialist/temp/ то сначала будет осуществятся поиск на данный каталог, а затем срабатывать привило обработки адреса.

Вообще, мне не нужно создавать новые каталоги, скорее наоборот требуется обеспечить корректную работу ссылок, не меняя существующей структуры. Но верно ли я понимаю - если по ссылке будет обнаружен реальный каталог, то запись о правиле не сработает?
ответил 10 Фев, 15 от Graviti (120 баллов)
00 голосов
Цитата
Ольга пишет:
Но верно ли я понимаю - если по ссылке будет обнаружен реальный каталог, то запись о правиле не сработает?

Да.
ответил 22 Май, 15 от Runnar (1,000 баллов)

Похожие вопросы

0 голосов
9 ответов
спросил 23 Май, 13 от Mikstik (220 баллов)
0 голосов
5 ответов
спросил 04 Дек, 13 от Shusui (100 баллов)
0 голосов
4 ответов
0 голосов
1 ответ
спросил 08 Июль, 13 от Fr33Dom (200 баллов)
0 голосов
5 ответов