Codeigniter 或任何 php mvc 框架中的动态操作名称
我注意到许多网站都可以使用用户名或页面标题作为操作。这是怎么做到的?
例如,代替 www.example.com/users/my_username (其中用户操作是通用的并负责获取用户数据),我该如何制作此 www.example.com/my_username ?
非常感谢。
I've noticed many sites are able to use a username or page title as an action. How is this done?
For example instead of www.example.com/users/my_username (where the users action is generic and responsible for fetching user data) how could I make this www.example.com/my_username?
Thanks very much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
所有现代框架都遵循路由器思想。因此,对于这个任务,您只需要编写另一条路线。
如何做到这一点 - 是特定框架的特定任务。
All modern frameworks follow router ideology. So for this task you just need to write yet another route.
How to do this - is a specific task for particular framework.
在 CodeIgniter 中,这将是一条像 zerkms 所说的路线。您可以在/system/application/config/routes.php中定义路由。以下是 CodeIgniter 有关 URI 路由的文档。本质上,您将路由中指定的 URL 部分(例如用户名)作为变量,并可以用它对数据库进行查找。
In CodeIgniter it would be a route like zerkms said. You can define routs in /system/application/config/routes.php. Here's the CodeIgniter documentation on URI routing. Essentially you take the part of the URL (such as the username) specified in your route as a variable and can do a lookup against your db with it.
使用 mod_rewrite,您可以编写一条规则,将 www.example.com/user/my_username(或没有用户)重定向到 www.example.com/user/?name=my_username。
With mod_rewrite you could write a rule that redirects www.example.com/user/my_username (or without the user) to www.example.com/user/?name=my_username.