Javascript 如何使带有主干的静态站点响应站点的动态URL

Javascript 如何使带有主干的静态站点响应站点的动态URL,javascript,backbone.js,backbone-routing,Javascript,Backbone.js,Backbone Routing,我正在制作一个带有主干的静态站点,它只有一个文件作为入口点(index.html)。我想知道如何使该网站响应任何外部网址的网站?比如说 www.example.com/this_route www.example.com/search 虽然我现在已经设置了路由器,但我只能在应用程序内触发url更改: router.navigate( "to_here" ); 但如果我在浏览器的url栏中键入www.example.com/to_,则会出现错误:“在此服务器上找不到请求的url/to_。” 感谢

我正在制作一个带有主干的静态站点,它只有一个文件作为入口点(index.html)。我想知道如何使该网站响应任何外部网址的网站?比如说

www.example.com/this_route www.example.com/search

虽然我现在已经设置了路由器,但我只能在应用程序内触发url更改:

router.navigate( "to_here" );
但如果我在浏览器的url栏中键入www.example.com/to_,则会出现错误:“在此服务器上找不到请求的url/to_。”


感谢您的帮助

您需要将web服务器设置为始终使用
index.html
进行响应

我使用下面的规则来实现这个目的,它总是为任何像这样的请求提供index.html
localhost:8080/to\u这里

server {
    listen       8080;
    server_name  localhost;

    location / {
        root   /path/to/folder/with/files;
        try_files $uri /index.html;
    }
}

您需要将web服务器设置为始终使用
index.html
响应

我使用下面的规则来实现这个目的,它总是为任何像这样的请求提供index.html
localhost:8080/to\u这里

server {
    listen       8080;
    server_name  localhost;

    location / {
        root   /path/to/folder/with/files;
        try_files $uri /index.html;
    }
}
在主干网中,当url以“#”开头时,您可以从浏览器中“捕获”url。所以,即使你的路由器也是这样:

routes : {
          "this_route":"exampleFunction",
          "search":"searchFunction"
      }
如果要根据浏览器url执行每个函数,则必须编写www.example.com#this#u routewww.example.com#search以“#”开头时从浏览器中“捕获”url的函数。所以,即使你的路由器也是这样:

routes : {
          "this_route":"exampleFunction",
          "search":"searchFunction"
      }

如果您想根据浏览器url执行每个函数,您必须编写www.example.com#this#u routewww.example.com#search以使用Router.js启动函数

哦,很有趣,谢谢。我想我可以用apache做同样的事情?对不起,我没有用过apache。另外,不要忘记允许服务器处理对.js、.css和其他资源的请求。@bleepblop我已经用ApacheTomcat设置了您想要的功能。您需要设置一个过滤器来捕获所有请求并相应地重新路由它们。让所有资产/ajax请求通过,并将所有其他请求重新路由回index.htmlOh有趣,谢谢。我想我可以用apache做同样的事情?对不起,我没有用过apache。另外,不要忘记允许服务器处理对.js、.css和其他资源的请求。@bleepblop我已经用ApacheTomcat设置了您想要的功能。您需要设置一个过滤器来捕获所有请求并相应地重新路由它们。让所有asset/ajax请求通过,并将所有其他请求重新路由回index.html“虽然我现在已经设置了路由器”,请说明您的设置细节,以便我们了解错误/提供建议。您目前使用什么http服务器来提供
index.html
服务?“虽然我现在已经设置了路由器”请说明您的设置细节,以便我们了解错误/提供建议。您目前使用哪个http服务器来服务
index.html
。。?