rde*_*ges 7 rewrite nginx web-server
我有几个静态站点(主要由 Sphinx 生成),我试图在我的 VPS 上托管它们。我已经按照指南安装和配置了 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。
我试过谷歌搜索,但我发现的只是重写规则,我觉得这对于我想要做的事情来说太复杂了。
任何帮助将不胜感激。
您应该为此使用 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;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5065 次 |
最近记录: |