nginx rewrite virtual directory to file

自古美人都是妖i 提交于 2020-01-01 04:44:44

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!