serving certain file for all but one server{}

Francis Daly francis at daoine.org
Sun Jul 30 18:26:15 UTC 2017


On Sun, Jul 30, 2017 at 02:48:05PM +0300, ST wrote:

Hi there,

> That is the problem - the special server{} (example.org) should serve
> robot.txt as is. Those are all the other server{}s that need a redirect
> from /robot.txt to /robot_closed.txt. Are there other ways to do that
> except for explicit redirect inside of all those server{}s?

Just for clarity of what you expect:

A request for http://normal1/robots.txt should return what?

* a http redirect to http://normal1/robot_closed.txt
* a http redirect to http://common/robot_closed.txt
* the content of the file /usr/local/nginx/normal1/html/robot_closed.txt
* the content of the file /usr/local/nginx/html/robot_closed.txt
* something else?

If it is "a" or "c", then presumably a request for
http://normal2/robots.txt should return the equivalent thing; if it is
"b" or "d", then a a request for http://normal2/robots.txt should return
the same thing.

And, a request for http://special/robots.txt should return what?

* the content of the file /usr/local/nginx/special/html/robots.txt
* the content of the file /usr/local/nginx/html/robots.txt

Depending on your answers, maybe the easiest thing would be to rename
"robots.txt" to "robots_special.txt", and rename "robot_closed.txt" to
"robots.txt", and just put a config in the special server{} of the form

 location = /robots.txt {alias /usr/local/nginx/html/robots_special.txt;}

Good luck with it,

	f
-- 
Francis Daly        francis at daoine.org


More information about the nginx mailing list