Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
Спасибо =). 02.12.06 03:27 Число просмотров: 3115
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member
|
> Ну а если все же mod_rewrite, то слеши можно сделать > "необязательными" с помощью квантификатора > "?" (что значит одно или ноль > совпадений).
Хех, вот читал же об этом в документации по mod_rewrite, да и стандарт это для регулярок... В общем, я протупил =). Спасибо! =)
А насчет скрипта, не совсем понятна (в полчетвертого утра) технология. То есть, запрос mod_rewrite'ом передается в скрипт, а там разбирается REQUEST_URI и в header пихается соотвествующий Location, я так понимаю?
|
<web building>
|
[mod_rewrite] Обработка необязательных параметров. 02.12.06 01:39
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member Отредактировано 02.12.06 01:40 Количество правок: 1
|
Здравствуйте.
Прикручиваю к движку своего сайта mod_rewrite, возникла следующая проблема.
На данный момент имеются такие строки:
RewriteEngine On
RewriteBase /
RewriteRule ^(ru|eng)/main/(.*)$ cgi-bin/main.cgi?p=main&lang=$1&hash=$2 [L]
RewriteRule ^(ru|eng)/docs/([0-9]*)/([0-9]*)/(.*)$ cgi-bin/main.cgi?p=docs&lang=$1&did=$2&d=$3&hash=$4 [L]
---
В последнем правиле второй и третий параметры -- необязательны, то есть, если они не указаны, при запросе к серверу /ru/docs/, скрипту должны передаваться параметры ?p=docs&lang=ru&did=&d=&hash=[четвертый_параметр]. Но мешают слеши, -- поэтому то, что надо выполняется только если запрос выглядит как /ru/docs///[четвертый_параметр].
Вопрос в том, как написать условие такое, чтобы слеши были необязательны?
Надеюсь, я ясно всё объяснил, хоть и несколько сумбурно =).
Спасибо.
|
|
[mod_rewrite] Я вобще из траспортного цеха. 02.12.06 01:47
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
Ты уверен в том, что всё это надо разгребать mod_rewrite'ом? Я бы сделал перенаправление всего в один скрипт, а он уж пусть разбирает URL. А уж в скрипте ты сможешь всегда любую логику организовать.
|
| |
Поддерживаю 02.12.06 01:54
Автор: Heller <Heller> Статус: Elderman
|
> Ты уверен в том, что всё это надо разгребать > mod_rewrite'ом? Я бы сделал перенаправление всего в один > скрипт, а он уж пусть разбирает URL. А уж в скрипте ты > сможешь всегда любую логику организовать. Ну а если все же mod_rewrite, то слеши можно сделать "необязательными" с помощью квантификатора "?" (что значит одно или ноль совпадений).
|
| | |
Спасибо =). 02.12.06 03:27
Автор: n0xi0uzz <Черкасов Виктор> Статус: Member
|
> Ну а если все же mod_rewrite, то слеши можно сделать > "необязательными" с помощью квантификатора > "?" (что значит одно или ноль > совпадений).
Хех, вот читал же об этом в документации по mod_rewrite, да и стандарт это для регулярок... В общем, я протупил =). Спасибо! =)
А насчет скрипта, не совсем понятна (в полчетвертого утра) технология. То есть, запрос mod_rewrite'ом передается в скрипт, а там разбирается REQUEST_URI и в header пихается соотвествующий Location, я так понимаю?
|
| | | |
Зачем в Location 02.12.06 11:25
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
> А насчет скрипта, не совсем понятна (в полчетвертого утра) > технология. То есть, запрос mod_rewrite'ом передается в > скрипт, а там разбирается REQUEST_URI и в header пихается > соотвествующий Location, я так понимаю? у тебя будет скрипт MAIN, на который рерайтятся все запросы (ну, статику оттуда можно исключить). В нём разбираешь REQUEST_URI и в зависимости от него отображаешь то, что тебе нужно. Инклюдишь нужные файлы с соответствующей логикой и т.д.
|
|
|