gpt4 book ai didi

nginx - 为pushState-URL重写Nginx

转载 作者:行者123 更新时间:2023-12-03 11:44:20 24 4
gpt4 key购买 nike

我正在尝试让nginx与我的基于pushState的URI处理一起使用,而backbone.js在Javascript应用程序中为我管理。

现在访问一个级别的URI,例如。 example.com/users可以很好地工作,但不适用于两层或更深的URI,例如Backbone documentation中提到的example.com/users/all:

For example, if you have a route of /documents/100, your web server must be able to serve that page, if the browser visits that URL directly



因此,由于不熟悉nginx的重写选项,我仍然可以执行 rewrite ^ /index.html;之类的操作来将所有内容重定向到 index.html,但是会丢失存储在同一服务器上的所有最终静态文件(图像,javascript和css)我需要能够访问。

那么,如何使用下面显示的当前配置来完成此工作?
server {
listen 80;
server_name example.com;

location / {
root /var/www/example.com;
try_files $uri /index.html;
}

}

最佳答案

这是我对应用程序所做的。每条以'/'结尾的路由(除了自身根)都将使用index.html:

  location ~ ^/.+/$ {
rewrite .* /index.html last;
}

您还可以为您的路线添加前缀:
Backbone.history.start({pushState: true, root: "/prefix/"})

接着 :
  location ~ ^/prefix/ {
rewrite .* /index.html last;
}

或为每种情况定义一个规则。

关于nginx - 为pushState-URL重写Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com