使用 mysql 数据库的 zend 自定义路由器

发布于 2024-11-19 15:28:56 字数 172 浏览 6 评论 0原文

我正在考虑编写一个应用程序,该应用程序需要许多页面的搜索引擎友好的 URL。例如,访问 site.com/blah 可以是用户或页面。为此,我正在考虑建立一个表,其中包含 URL,然后有一列包含控制器、操作和任何参数(例如页面或用户的 ID)。

我知道数据库查找可能会很慢,所以我想知道这是否是解决问题的最佳方法?

I am looking at writing a application that requires search engine friendly URLs for a lot of pages. So for example to access say site.com/blah could be a user or a page. For this I was thinking of having a table where I have the URL and then I have a column with the controller, action and any parameters such as id of a page or a user.

I know a db look-up can be slow so I am wondering if this is the best way of going about things?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人疚 2024-11-26 15:28:56

如果必须对两个不同的控制器/操作使用相同的路由 URL (site.com/blah),唯一的方法是使用数据库查找。当新用户注册时,将用户名和用户 ID 存储在数据库中,并将该用户名的路由类型存储为“用户”。创建新页面时,将页面名称和页面 ID 存储在数据库中,并将路由类型存储为“Page”。
当请求 URL 时,根据数据库检查名称并获取路由类型并相应转发。

If you have to use the same route URL (site.com/blah) for two different controller/action, the only way is to use database lookup. When a new user signs up, store the username and the user ID in the database and the route type to 'User' for this username. When a new page is created, store the page name and the page ID in the database and the route type to 'Page'.
When a URL is requested, check the name against the database and get the route type and forward accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文