Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SSI переменные $uri и $request_ur i
26.08.2011, 06:49, "Oleksandr V. Typlyns'kyi" <wangsamp@xxxxxxxxx>:
> Today Aug 26, 2011 at 04:52 Denis F. Latypoff wrote:
>
>>>> # cat included.html
>>>> <!--#echo var="uri"-->
>>>> <!--#echo var="request_uri"-->
>>>>
>>>> # wget -qO- "http://localhost/index.html" | less
>>>> /included.html
>>>> /index.html
>>>>
>>>> Вот хотелось бы, чтобы uri тоже был 'index.html', то есть адрес
>>>> родительского запроса. Или это фича? Или бага? ))
>>> $uri, эта переменная равна текущему URI в запросе, он может отличаться
>>> от первоначального, например, при внутренних редиректах или при
>>> использовании индексных файлов.
>> Точно, спасибо. Похоже, получить первоначальный запрос без аргументов не
>> получится...
>
> Почему же? Достаточно его сохранить в другой переменной:
Опять костыль )) Нуда ладно.
> location / { ssi on; set $orig_uri $uri;}
> location = /included.html { ssi on; }
>
> cat included.html
> <!--#echo var="uri"-->
> <!--#echo var="request_uri"-->
> <!--#echo var="orig_uri"-->
>
> wget -qO- "http://localhost/index.html?a=1&b=2"
> /included.html
> /index.html?a=1&b=2
> /index.html
>
Я как раз тоже самое делал в самом SSI:
cat index.html
<!--#set var="orig_uri" value="$uri"-->
<!--#include file="included.html"-->
# cat included.html
<!--#echo var="uri"-->
<!--#echo var="request_uri"-->
<!--#echo var="orig_uri"-->
# wget -qO- "http://localhost/index.html?sdasd" | less
/included.html
/index.html?sdasd
/index.html
За идею с конфигом спасибо. Только я вот не знаю
теперь - переносить ли все это дело в конфиг...
> Важный момент - /included.html должен быть в другом location, а то иначе
> set перепишет значение из $uri подзапроса.
Похоже, этих граблей в моем варианте нет.
> Или если это мифический shared hosting со сферическими непредсказуемыми
> URI, то можно и в rewrite style:
> location / { ssi on; if ($orig_uri = "") {set $orig_uri $uri;} }
Сразу нет ))
--
br, Denis F. Latypoff.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|