Silverstripe URL映射

Silverstripe URL映射,silverstripe,url-mapping,url-masking,Silverstripe,Url Mapping,Url Masking,我试图理解URL映射是如何工作的。我读了很多页,但我似乎无法理解我要做的事情 这非常简单,我使用DataObjects作为页面方法,并将成员扩展写入成员类。我有典型的动作,显示,编辑,添加 因此,如果我访问www.mywebsite.com/members/show/1,我可以看到第一个用户。如果将“显示”更改为“编辑”,则可以编辑第一个用户。现在,如果我访问www.mywebsite.com/members/add,我可以创建一个新用户。由于我在add方法中创建的功能,这一切都正常工作 我的问

我试图理解URL映射是如何工作的。我读了很多页,但我似乎无法理解我要做的事情

这非常简单,我使用DataObjects作为页面方法,并将成员扩展写入成员类。我有典型的动作,显示,编辑,添加

因此,如果我访问www.mywebsite.com/members/show/1,我可以看到第一个用户。如果将“显示”更改为“编辑”,则可以编辑第一个用户。现在,如果我访问www.mywebsite.com/members/add,我可以创建一个新用户。由于我在add方法中创建的功能,这一切都正常工作

我的问题是,当你访问任何网站时,你都不会通过访问members/add注册到该网站,而是通过访问website.com/register或类似的方式注册。从代码管理的角度来看,让代码保持现在的状态对我来说要容易得多。我不想创建一个注册页面并将代码移动到那里,而是想知道是否可以转到www.mywebsite.com/Register并将其加载到www.mywebsite.com/members/add。我说的不是更新url的重定向链接,我希望用户仍然可以在url中看到Register,而不是看到/members/add

反之亦然,如果用户要访问www.mywebsite.com/members/add,我希望更新链接以注册,或者说找不到页面

Silverstripe框架是否可以实现这一点


我不是100%确定,但我相信这就是所谓的URL屏蔽。

这是很有可能的,首先我建议您查看一下

…因为即使你不想使用现有的模块,我相信也会有有用的信息。这里有一个很好的“纯”路由(即silverstripe no cms)示例,它会导致“嵌套”路由-我想这是您想要的,因此我强烈建议您阅读下面的幻灯片,然后阅读创建的todo应用程序


我之前已经学习过该模块,我选择不使用它,因为我通过制作自己的模块学习得更好。另一个问题是,这个模块太大了,发生的事情太多了,我需要几周的时间才能找到我想要的东西。是否有一个指向指南的链接,您可以给我,或者您自己向我解释如何使用silverstripe进行路由/屏蔽?我假设您正在谈论第一个链接,您是否查看了第二个/第三个链接?这显示了一个简单的todo应用程序,但具有嵌套的路由逻辑。如果您只想发送文档。。。嗨,第二个链接对我来说被屏蔽了,因为我现在正在工作,无法查看,我今晚会查看它。第三个链接已完全断开,当我单击它时无法工作。我已更新了第三个链接(仍然习惯于堆栈溢出语法!)