web-server – 如何配置nginx以使用静态站点的漂亮URL?

我有几个静态站点(主要由Sphinx生成),我正试图在我的VPS上托管.我根据指南安装并配置了Nginx,我可以成功显示我的网站,但问题是网址是绝对的,看起来很难看.

例如,典型的站点文件夹可能如下所示:

/public_html/index.html
/public_html/api.html
/public_html/quickstart.html

并且HTTP请求/将URL更改为“http://sitename/index.html”.我基本上想要从URL要求中删除所有静态前缀,并强制Nginx将传入的请求路由到/,/ api,/ quickstart到正确的位置,并强制Nginx用户访问页面显示正确的漂亮URL.

我试过谷歌搜索,但我找到的只是重写规则,我觉得这些规则太复杂了.

任何帮助将不胜感激.

解决方法

你应该使用try_files.我们的想法是,您将创建没有.html的URL,Nginx添加它.示例配置如下.
server {
   #listen/server_name/root here.

   try_files $uri.html $uri $uri/ @notfound;

   location @notfound {
      alias /your/404/file.html
      return 404;
   } 
}

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些