【发布时间】:2014-09-20 23:44:42
【问题描述】:
我想为 Silverstripe 添加一条默认路由。目前,我的应用程序中有一些路由,分别是/dev、/admin 和/api。我希望所有其他不在(虚拟)子目录中的流量由单独的控制器处理。
我一直在玩 YAML 配置系统,但我似乎无法理解它。
所以基本上我想做以下事情
- /dev -> 基本的 SS 功能,应该做它该做的 :-)
- /admin -> cms 模块
- /api -> Restful api 模块,
但其他所有路径都应指向 MyOwnController。
- /asdfsdfsd -> MyOwnController
- /23-asdf -> MyOwnController 等
/asda/asd 也不必重新路由到 MyOwnController。
我制作了一个 /mysite/_config/routes.yml 文件,其中包含以下内容:
---
Name: myroutes
After: 'framework/routes#coreroutes'
---
Director:
rules:
'$Path': 'MyOwnController'
这会破坏网站(仅 404)。这个应该怎么设置?我可以开始摆弄 _config.php,但我宁愿遵守标准 :-)
【问题讨论】:
-
您不需要在路径前加上 $ - 所以 'somepath': 'MyController' 应该可以工作。另外,您在进行更改后是否运行了 /dev/build?flush=1 ?这是一个普通的叮当声!
-
"somepath: MyController" 只会将 www.mysite.com/somepath 的所有流量路由到控制器。我希望“somepath”是任意的。就像twitter.com/username,其中“用户名”可以是任何你想要的。是的,我脸红了。
标签: url-routing yaml silverstripe