【发布时间】:2014-03-03 21:50:49
【问题描述】:
Similar question, which didn't solve my problem.
我希望我的应用程序的每个页面都有唯一的字符串标识符(slugs),并且为了使 URL 更短,我试图从 URL 中隐藏控制器和函数名称。所以,而不是这个:
mysite.com/app/c/f/my-slug
我想要这个:
mysite.com/my-slug
我能得到的最好的(使用 URL 重写)是这样的:
mysite.com/f/my-slug
如果我只是将“c”设置为默认控制器,将“f”设置为默认函数并尝试访问 app/some-slug(假设“f”可以处理此类 slug),web2py 会给出“无效控制器(我的) " 错误。
由于我无法让基于模式的 URL 重写工作(可能是因为我做错了),我想我需要将每个 slug 及其默认控制器和函数名称存储在数据库中的“普遍默认”功能来处理这一切。然后,如果我需要对某个页面执行其他操作,我会将操作名称放在 URL 中的 slug 前面。
那么……可行吗?夸张的?一个糟糕的主意?
【问题讨论】:
标签: python url model-view-controller web2py