Forum: NGINX Problem with rewrite regexes when the URL contains a trailing slash (nginx-1.5.0)

471c6d7b7cdf65951571a74b80b49289?d=identicon&s=25 Roberto F. (Guest)
on 2013-05-22 20:41
(Received via mailing list)
Hello.
I'm having a problem with nginx's rewrite directive.
Basically, when the URL contains a trailing point, it is ignored by the
rewrite regexp.
Let's do an example:
I load http://uri/something. (with the trailing point). Then, with the
rewrite rule:
rewrite ^/something\.$ /index.html
I should see 'index.html', but instead that appears in the logfile (with
rewrite_log set at on):
2013/05/22 20:36:07 [notice] 6256#1440: *57 "^/something\.$" does not
match "/something", client: 127.0.0.1, server: localhost, request: "GET
/something. HTTP/1.1", host: "localhost"
As you can see, the trailing point is missing from the "does not match"
part of the log.

Is there any workaround for that?
Thank you in advance,
Robertof
A8108a0961c6087c43cda32c8616dcba?d=identicon&s=25 Maxim Dounin (Guest)
on 2013-05-22 21:12
(Received via mailing list)
Hello!

On Wed, May 22, 2013 at 08:40:43PM +0200, Roberto F. wrote:

> 2013/05/22 20:36:07 [notice] 6256#1440: *57 "^/something\.$" does
> not match "/something", client: 127.0.0.1, server: localhost,
> request: "GET /something. HTTP/1.1", host: "localhost"
> As you can see, the trailing point is missing from the "does not
> match" part of the log.
>
> Is there any workaround for that?

Are you using nginx/Windows?  On Windows trailing dots and spaces
in URIs are ignored as they aren't significant from filesystem
point of view and otherwise can be used to bypass access
restrictions.

--
Maxim Dounin
http://nginx.org/en/donation.html
471c6d7b7cdf65951571a74b80b49289?d=identicon&s=25 Roberto F. (Guest)
on 2013-05-22 21:18
(Received via mailing list)
Hi, thanks for the fast answer!
Yes, I am using nginx on Windows and I didn't know about that
restriction.
Since the project I'm working on requires that (damned!) final point, do
you know a way to overcome this restriction?
For example, I thought about cygwin but I'm not sure if it would work.

Thanks again,
Robertof

Il 22/05/2013 21:12, Maxim Dounin ha scritto:
471c6d7b7cdf65951571a74b80b49289?d=identicon&s=25 Roberto F. (Guest)
on 2013-05-22 23:17
(Received via mailing list)
Hello -- just writing again to say that I did it! I found on the web
(just Google) a Cygwin build of nginx and it works perfectly.
Thanks for your support!
Robertof

Il 22/05/2013 21:12, Maxim Dounin ha scritto:
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.