The two slashes issue - or how to append a constant to a parameter.
Igor Sysoev
is at rambler-co.ru
Fri Feb 6 15:39:29 MSK 2009
On Fri, Feb 06, 2009 at 11:42:13AM +0000, Ian Hobson wrote:
> Hi
>
> I have a situation that I have had to fix using set...
>
> # handle directory names by adding /index.htm
> location ~ ^(.*)/$ {
> # matches directories
> set $path index.htm;
> fastcgi_param QUERY_STRING f=$request_uri$path;
> fastcgi_param DOCUMENT_ROOT $document_root;
> fastcgi_param SCRIPT_FILENAME /var/www/builder/parser.php;
> fastcgi_pass 127.0.0.1:9000;
> }
>
> The issue was that with
>
> fastcgi_param QUERY_STRING f=$request_uri/index.htm;
>
> I was getting two slashes - one added by nginx and one on the line
> above, even if the entered URI contained none.
>
> Is there a better way of adding a constant after a parameter?
I did not read thoughtfully, you may use
- fastcgi_param QUERY_STRING f=$request_uri/index.htm;
+ fastcgi_param QUERY_STRING f=${request_uri}index.htm;
However, $request_uri is not good choice for this as it may have query string:
/dir/?one=1&two2
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list