如何configurationnginx使用静态网站的漂亮的URL?

我有几个静态网站(主要由狮身人面像生成),我试图托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; }