Welcome! Log In Create A New Profile

Advanced

nginx sends 301 redirect for alias in location

Posted by Peter Volkov 
Peter Volkov
nginx sends 301 redirect for alias in location
September 05, 2018 09:10AM
Hi. Could you, please, explain. Why nginx sends 301 redirect for the
following vhost:

server {
listen 80;
server_name test.domain.tv http://test.m9.smotreshka.tv;

access_log off;

location = /test/README.txt {
alias /var/www/;
}
}

Here is redirect:

$ http http://test.domain.tv/test/README.txt
HTTP/1.1 301 Moved Permanently
Connection: keep-alive
Content-Length: 178
Content-Type: text/html
Date: Wed, 05 Sep 2018 06:55:27 GMT
Keep-Alive: timeout=20
Location: http://test.domain.tv/test/README.txt/
Server: nginx

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>



--
Peter.
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Maxim Dounin
Re: nginx sends 301 redirect for alias in location
September 05, 2018 02:30PM
Hello!

On Wed, Sep 05, 2018 at 09:58:54AM +0300, Peter Volkov wrote:

> Hi. Could you, please, explain. Why nginx sends 301 redirect for the
> following vhost:
>
> server {
> listen 80;
> server_name test.domain.tv http://test.m9.smotreshka.tv;
>
> access_log off;
>
> location = /test/README.txt {
> alias /var/www/;
> }
> }
>
> Here is redirect:
>
> $ http http://test.domain.tv/test/README.txt
> HTTP/1.1 301 Moved Permanently
> Connection: keep-alive
> Content-Length: 178
> Content-Type: text/html
> Date: Wed, 05 Sep 2018 06:55:27 GMT
> Keep-Alive: timeout=20
> Location: http://test.domain.tv/test/README.txt/
> Server: nginx
>
> <html>
> <head><title>301 Moved Permanently</title></head>
> <body bgcolor="white">
> <center><h1>301 Moved Permanently</h1></center>
> <hr><center>nginx</center>
> </body>
> </html>

You've aliased "/test/README.txt" into a directory "/var/www/".
Since the URI "/test/README.txt" does not have a trailing slash,
nginx returns a redirect with a trailing slash added, much like it
does when requesting a directory without a trailing shash.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Peter Volkov
Re: nginx sends 301 redirect for alias in location
September 06, 2018 06:10AM
On Wed, Sep 5, 2018 at 3:25 PM, Maxim Dounin <[email protected]> wrote:

> On Wed, Sep 05, 2018 at 09:58:54AM +0300, Peter Volkov wrote:
>
> > Hi. Could you, please, explain. Why nginx sends 301 redirect for the
> > following vhost:
> >
> > server {
> > listen 80;
> > server_name test.domain.tv http://test.m9.smotreshka.tv;
> >
> > access_log off;
> >
> > location = /test/README.txt {
> > alias /var/www/;
> > }
> > }
> >
> > Here is redirect:
> >
> > $ http http://test.domain.tv/test/README.txt
> > HTTP/1.1 301 Moved Permanently
> > Connection: keep-alive
> > Content-Length: 178
> > Content-Type: text/html
> > Date: Wed, 05 Sep 2018 06:55:27 GMT
> > Keep-Alive: timeout=20
> > Location: http://test.domain.tv/test/README.txt/
> > Server: nginx
> >
> > <html>
> > <head><title>301 Moved Permanently</title></head>
> > <body bgcolor="white">
> > <center><h1>301 Moved Permanently</h1></center>
> > <hr><center>nginx</center>
> > </body>
> > </html>
>
> You've aliased "/test/README.txt" into a directory "/var/www/".
> Since the URI "/test/README.txt" does not have a trailing slash,
> nginx returns a redirect with a trailing slash added, much like it
> does when requesting a directory without a trailing shash.
>

Thank you, Maxim. That was the problem!

--
Peter.
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Sorry, only registered users may post in this forum.

Click here to login