FW/1 路由模式匹配中的起始斜杠

Starting slash in FW/1 route pattern matching

我正在查看 FW/1 的配置。我注意到有些路线以 / 开头,而有些则没有。两者有什么区别吗?

variables.framework.routes = [
   { "chart/home"                           = "chart/home"},
   ...
   { "/location/home"                       = "location/home"},

您是否注意到两者在行为上有什么不同?我认为没有区别。从我能找到的文档和示例中,它们都以 / 开头。我认为 FW/1 允许两者,但它们的工作原理相同。

此处文档的片段 - http://framework-one.github.io/documentation/developing-applications.html#url-routes:

URL Routes

In addition to the standard /section/item and /module:section/item URLs that FW/1 supports ...

该页面下方的示例显示了以 /:

开头的标准路由

Here’s an example showing all the features together:

variables.framework.routes = [
{ "/product/:id" = "/product/view/id/:id", "/user/{id:[0-9]+}" = "/user/view/id/:id",
  hint = "Display a specific product or user" },
{ "/products" = "/product/list", "/users" = "/user/list" },
{ "/old/url" = "302:/new/url" }

];

这是处理您定义的路由的代码的 link - https://github.com/framework-one/fw1/blob/develop/framework/one.cfc#L1954-L2047

为了检验这个理论,您可以尝试以下方法。

  • 浏览到 www.yourdomain.com/location/home 应该与您的示例中的第二条路线相匹配。
  • 浏览到 www.yourdomain.com/chart/home 应该与您的示例中的第一条路线相匹配。
  • 浏览至 www.yourdomain.com/sometextchart/home 与您示例中的第一条路线匹配吗?
  • 浏览至 www.yourdomain.com/somefolder/chart/home 是否与您示例中的第一条路线匹配?
  • 浏览至 www.yourdomain.com/somefolder/sometextchart/home 是否与您示例中的第一条路线匹配?