rewrite rule with consistent document structure

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

rewrite rule with consistent document structure

adrian.hilt
I have a directory containing several directories with the exact same
structure. I'll be adding more and more directories with the exact same
structure. I want to make an NGINX rewrite rule that makes the URL as simple
as possible.

For example, here is two of those directories. Notice each has a directory
called "public" and then has a bunch of files and other directories.

* directoryA (dir)
*** public (dir)
***** index.html (file)
***** images (dir)
******* image.png (file)
******* image.jpg (file)
* directoryB (dir)
*** public (dir)
***** index.html (file)
***** readme.html (file)
******* a (dir)
********* b (dir)
*********** c (dir)
************* somefile.html
************* nested.jpg

I want to make it so that NGINX serves up the HTML and images from the
parent directory and omits the public directory from the URI.

More explicitly, if the server is https://example.com I would like someone
to be able to get https://example/directoryB/readme.html. And, if
readme.html has an <img src="a/b/c/nested.jpg"> tag inside it, that that
gets loaded correctly as well.

I've been trying various combinations of rewrite plus try_files but I'm
getting confused by the last, break, etc. And, I think a key distinction is
that I don't want to "rewrite" the URI. If I understand things correctly, I
don't want to have http://example.com/directoryB/public/index.html to
rewrite to https://example.com/directoryB/index.html (I would prefer not to
have the public directory available as a possible URI, but I suppose it
wouldn't hurt).

I'm struggling with this because I don't know how to "test" my rules without
tweaking the configuration, then restarting, tailing the log files, etc.
It's been very slow and I would love a better way, so if someone has a
suggestion on how , I'm happy to hear it.

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,286755,286755#msg-286755

_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: rewrite rule with consistent document structure

J.R.
> I want to make it so that NGINX serves up the HTML and images from the
> parent directory and omits the public directory from the URI.

In your case, using "alias" would be the way to go...

http://nginx.org/en/docs/http/ngx_http_core_module.html#alias
_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx