| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > .htaccess RewriteRule |
| Автор: GrizliK 11.10.2009, 17:04 | ||||||
| Добрый день. У меня пару вопросов 1. Из разных источников получается противоречие из I:
для которого '/foo/zed' преобразовывалось бы в безопасный запрос '/bar?arg=P1=zed'. то есть первая часть /foo/(.*) преобразуется во вторую /bar?arg=P1\%3d$1 [R,NE] из II: В следующем примере преобразуем www.site.ru/script.php?product=123 в www.site.ru/cat/product/123/:
то есть уже вторая часть /script.php?$1=$2 преобразуется в первую cat/(.*)/(.*)/$ Бред какой-то 2. Есть строка
что в ней означает & и %{QUERY_STRING} Заранее огромное спасибо!!! |
| Автор: Nigel 15.10.2009, 14:42 |
| Символ конкатенации (&) разделяет переменные в строке запроса. %{QUERY_STRING} обозначает строку запроса, как видно из названия. |
| Автор: Vaulter 15.10.2009, 21:50 |
| следует обусловиться, что понимать под "преобразуется". В контексте RewriteUrl: есть строка запроса GET /foo/bar Среди всех RewriteRule ищется такое условие, первая часть которого совпадает с запросом, после этого, вычисляется вторая часть, учитываются модификаторы и т.д. Т.о. в "прямом" смысле /foo/bar преобразуется в, например, запрос вида /bar?arg=P1\%3d$1 [R,NE] Если же говорить, об "обратном" смысле, то, RewriteUrl "преобразует" те адреса, по которым будут доступны ресурсы (ссылки вида /bar?arg=P1\%3d$1) в другие, вида /foo/bar (указанные в первой части выражений) |