我有几个静态网站(主要由狮身人面像生成),我试图托pipe我的VPS。 我已经根据指南安装并configuration了nginx,并且可以成功显示我的网站,但问题是url是绝对的,而且看起来很丑。
例如,一个典型的站点文件夹可能如下所示:
/public_html/index.html /public_html/api.html /public_html/quickstart.html
HTTP请求/将URL更改为“ http://sitename/index.html ”。 我基本上想要从URL需求中删除所有的静态前缀,强制nginx将传入的请求路由到/,/ api,/ quickstart到正确的位置,并强制nginx在用户访问页面时显示合适的URL。
我试过Googlesearch,但是我发现所有的重写规则都是我想要做的太复杂了。
任何帮助将不胜感激。
你应该使用try_files。 这个想法是,你将创build你的URL没有.html和Nginx会默默地添加它。 下面的示例configuration。
server { #listen/server_name/root here. try_files $uri.html $uri $uri/ @notfound; location @notfound { alias /your/404/file.html return 404; } }
使用静态位置:
location / { index index.html; root /var/www/nginx-default; } location /api { index api.html; alias /var/www/nginx-default; } location /quickstart { index quickstart.html; alias /var/www/nginx-default; }
正则expression式:
location ~/(.*)$ { alias /var/www/nginx-default/$1.html; }