Routes 在SilverStripe 3.x中的页面名称之前添加参数

Routes 在SilverStripe 3.x中的页面名称之前添加参数,routes,silverstripe,Routes,Silverstripe,我在网上搜索了几个小时,但没有找到任何能回答我问题的东西 如果我的站点树中有以下页面: 家 第1页 第2页 然后,我将访问以下页面: www.mysite.com www.mysite.com/page1 www.mysite.com/page2 如何设置路由,以便访问以下页面 www.mysite.com/client1 www.mysite.com/client1/page1 www.mysite.com/client1/page2 www.mysite.com/client2

我在网上搜索了几个小时,但没有找到任何能回答我问题的东西

如果我的站点树中有以下页面:

    • 第1页
    • 第2页
然后,我将访问以下页面:

  • www.mysite.com
  • www.mysite.com/page1
  • www.mysite.com/page2
如何设置路由,以便访问以下页面

  • www.mysite.com/client1
  • www.mysite.com/client1/page1
  • www.mysite.com/client1/page2
  • www.mysite.com/client2
  • www.mysite.com/client2/page1
  • www.mysite.com/client2/page2

其中,client1、client2等是一个变量值,将用于识别客户进行品牌推广等。

您可以使用其中一个模块


或者创建一个类似“ClientLanding”的页面类型,您可以在其中选择一个主题,进行特定于客户端的设置,例如。

您可以使用其中一个模块


或者创建一个类似“ClientLanding”的页面类型,在这里你可以选择一个主题,进行特定于客户端的设置,例如。

如果其他人对此感到困惑,在谷歌搜索了很多次之后,我终于找到了答案

我需要将它添加到我的config.yml中

---
Name: modelascontrollerroutes
After: cms/routes#modelascontrollerroutes
---
Director:
  rules:
    '': 'RootURLController'
    '$Client': 'RootURLController'
    '$Client/$URLSegment//$Action/$ID/$OtherID': 'ModelAsController'

万一有人在这方面苦苦挣扎,在谷歌搜索了很多之后,我终于找到了答案

我需要将它添加到我的config.yml中

---
Name: modelascontrollerroutes
After: cms/routes#modelascontrollerroutes
---
Director:
  rules:
    '': 'RootURLController'
    '$Client': 'RootURLController'
    '$Client/$URLSegment//$Action/$ID/$OtherID': 'ModelAsController'

将客户端作为路由的
$URLSEMENT
部分可能是可行的,但它将禁用在其旁边放置任何“常规”页面的可能性…例如
www.mysite.com/contact
将无法工作。切换URL结构也可以吗?例如
www.mysite.com/page1/client1
?网站上的所有内容都是特定于客户端的,因此永远不会出现URL中没有客户端的情况。我已经在Silverstripe中查看了路由,但我似乎没有弄清楚。将客户端作为路由的
$URLSEMENT
部分可能是可行的,但它将禁用在其旁边有任何“常规”页面的可能性…例如
www.mysite.com/contact
,这样就行不通了。切换URL结构也可以吗?例如
www.mysite.com/page1/client1
?网站上的所有内容都是特定于客户端的,因此永远不会出现URL中没有客户端的情况。我已经看过Silverstripe中的路由,但我似乎无法理解。