|
|
|
| Не стал вмешиваться в чужую тему - http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=10574&page=1
RewriteBase /
RewriteRule ^download/(.*)$ /script.php?file_name=$1
|
Тут мне всё понятно, кроме одного - откуда апач знает, что $1 - это запрошенный файл? Почему не $2 или $x ? | |
|
|
|
|
автор: glsv (21.12.2005 в 16:12) |
|
|
для: Shorr Kan
(21.12.2005 в 07:53)
| | > откуда апач знает, что $1
А то, что регулярное выражение находит в круглых скобках (.*) - это параметр номер 1 ($1)
Если бы были вторые скобки,
то уже было бы 2 параметра. Для первых скобок - $1 и для того, что подходит под вторые скобки $2 | |
|
|
|
|
|
|
|
для: glsv
(21.12.2005 в 16:12)
| | Тогда такие два вопроса:
1. почему download/(.*) ? Логичнее было бы download/(*.*)/ Где можно документашку увидеть по этому нюансу?
2. Что означает знак ^ ? В регулярных выражениях, насколько я понял, он означает отрицание. То есть тут получается: если НЕ каталог download, то выдавать другую страничку... Но это не так. Посему - опять же, где можно почитать и по этому нюансу?
Впрочем, рассказ в парочку предложений - полностью заменит ссылку на документацию... | |
|
|
|
|
|
|
|
для: Shorr Kan
(21.12.2005 в 17:04)
| | (.*)
Нет, здесь синтаксис регулярным выражений.
. - любой символ.
*повторение предыдущего символа 0 и более раз.
> Что означает знак ^
Его значение зависит от того, где он используется.
В данном случае, это означает начало строки.
>То есть тут получается
Получается, что когда URL содержит в самом начале имя каталога download, а затем идет ."что-то", то происходит преобразование URL к следующему виду:
script.php?file_name=$1
Преполагается, что "что-то" - это имя файла (скрипта, страницы) и в преобразованном URL оно фигурируется, как параметр №1 ($1).
>Впрочем, рассказ в парочку предложений - полностью заменит ссылку на документацию...
Регулярные выражения настолько объемная тема, что ее полностью ее раскрыть смогут только хорошие книги.
Например, Регулярные выражения (Дж. Фридл.)
А также у нас есть специальный раздел форума: Форум по регулярным выражениям | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(22.12.2005 в 21:33)
| | "Получается, что когда URL содержит в самом начале имя каталога download"
Разумеется, не учитывая имя домена? То есть, www.site.com/download... - это считается - в начале?
Книгу буду иметь ввиду. Форум по регулярным выражениям - да, я наслышан. Но пока мне там место только в виде просящего подаяние (готовое решение). | |
|
|
|
|
|
|
|
для: Shorr Kan
(23.12.2005 в 10:59)
| | >Разумеется, не учитывая имя домена?
На вход модуля mod_rewrite имя домена не приходит. URL идет сразу от корня сайта. Поэтому сразу download. | |
|
|
|