The two slashes issue - or how to append a constant to a parameter.
Igor Sysoev
is at rambler-co.ru
Fri Feb 6 15:22:44 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?
Yes:
location ~ ^(.*)/$ {
# matches directories
- set $path index.htm;
+ fastcgi_index index.htm;
- fastcgi_param QUERY_STRING f=$request_uri$path;
+ fastcgi_param QUERY_STRING f=$fastcgi_script_name$is_args$args;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SCRIPT_FILENAME /var/www/builder/parser.php;
fastcgi_pass 127.0.0.1:9000;
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list