Hello,
I want the index.html file in a particular directory to only be served
when the domain’s root URI is requested.
Using the config
server example.com;
index index.html;
location = / {
root path/to/dir;
}
a request to example.com results in index.html in the Nginx default root
“/html” directory being served.
The same thing happens with a trailing slash on the root, or when I
substitute a trailing-slash alias directive.
If I use an alias directive without a trailing slash I get 403 error
directory index of "path/to/dir" is forbidden.
There are no problems if I instead use “location /”.
Can anyone suggest a reason or a resolution?
Thanks.
Mark
On Friday 07 February 2014 01:32:44 Mark J. wrote:
Hello,
I want the index.html file in a particular directory to only be served when
the domain’s root URI is requested.
Using the config
server example.com;
index index.html;
location = / {
root path/to/dir;
}
a request to example.com results in index.html in the Nginx default root
“/html” directory being served.
The same thing happens with a trailing slash on the root, or when I
substitute a trailing-slash alias directive.
If I use an alias directive without a trailing slash I get 403 error
directory index of "path/to/dir" is forbidden.
There are no problems if I instead use “location /”.
Can anyone suggest a reason or a resolution?
The reason is documented: Module ngx_http_index_module
“It should be noted that using an index file
causes an internal redirect …”
wbr, Valentin V. Bartenev
On 07/02/14 02:23, Valentin V. Bartenev wrote:
The reason is documented:Module ngx_http_index_module
“It should be noted that using an index file
causes an internal redirect …”
Thanks very much for this Valentin. I’ve been stuck on this for a while.
The solution was to replace the “location = /”
block with a “location = /index.html” block.