Trailing Slash redirection poblem

Francis Daly francis at daoine.org
Sat Apr 30 08:40:06 UTC 2016


On Sat, Apr 30, 2016 at 12:47:20PM +0500, Muhammad Yousuf Khan wrote:

Hi there,

> I have been trying to remove the trailing slash with this redirection rule.
> rewrite ^/(.*)/$ /$1 permanent;
> 
> however it is creating a loop.
> 
> curl -I https://xxxx.com/live/
> 
> HTTP/1.1 301 Moved Permanently
> Location: https://xxxx.com/live

> curl -I https://xxxx.com/live
> 
> HTTP/1.1 301 Moved Permanently
> Location: https://xxxx.com/live/

> Can you please guide what i am doing wrong here.

The configuration you have shown says "if the request is for /live/,
ask the browser to instead request /live".

The configuration you have not shown says "if the request is for /live,
ask the browser to instead request /live/".

You should not have both of those in the same configuration file, or
you get a loop.

The not-shown configuration is usually a very good idea if "/live"
is to be served from the filesystem and corresponds to a directory.

So: why do you want to remove the trailing slash, in the shown
configuration?

If you want /live to redirect to /live/, then you should configure thing
such that /live/ does not redirect to /live.

	f
-- 
Francis Daly        francis at daoine.org



More information about the nginx mailing list