问题
This should be really easy to do but I'm hitting my head on the wall. If I get a request for www.mysite.com/mypath I want to serve the content of www.mysite.com/myotherpath/thisfile.html. How can I do this with an nginx config.
回答1:
Use rewrite directive within proper location block. So for example you have basic location which will handle all requests
location / {
/*your rules here*/
}
You will need to add another block, which will do for you handling of specific path
location /mypath {
rewrite ^/mypath$ /real/path/to/file/thisfile.html;
}
Also for your server to think in that block that thisfile.html
is default you can use try thisfile.html
directive
It is all well explained on official page Official Nginx RewriteModule page
回答2:
location = /mypath {
try_files /myotherpath/thisfile.html =404;
}
- http://nginx.org/r/try_files
- http://nginx.org/r/location
来源:https://stackoverflow.com/questions/12341917/nginx-rewrite-virtual-directory-to-file