Search code examples
nginxvirtual-directory

nginx rewrite virtual directory to file


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.


Solution

  • 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