0

我的问题是我希望我的用户有一个自定义 url http://mywebsite.com/username

.htaccess file我已经阅读了有关web.config file.

问题是目前我的用户配置文件 URL 不显示,并且 PHP 代码特定于任何用户。它只是为每个用户显示http://mywebsite.com/profile (站点仍处于测试模式,因此现在没有一个用户是真实的)。

user?id=3当个人资料 url 当前未显示任何特定的用户信息或其他信息时,如何使 url 重写工作?我如何至少获取当前配置文件以获取特定用户信息?

4

1 回答 1

1

我个人会让应用程序执行所有必要的路由逻辑,而不是依赖 .htaccess。我会这样做

我将从使用预先构建的路由器类/模块/库开始。如果您使用 PHP 进行编码,请使用Alloy Router 之类的东西。如果您正在使用某种框架,则可能已经内置了路由。

下一步将是创建一个“捕获所有”配置文件路由,该路由捕获以前未“捕获”的所有路由。您可能有一堆其他路线,例如“website.com/about”、“website.com/contact”等,这些路线将首先被捕获,然后包罗万象的路线将获得所有其他路线。

包罗万象的路由会将您的应用程序路由到“配置文件”控制器。该控制器查看给定的路由并检查路由中的“用户名”是否与数据库中的用户名匹配。如果是这样,请创建该特定用户的配置文件。如果没有,请提供 404。

您必须确保所有用户名都是唯一的,并且它们不会与其他路由冲突(即用户不能拥有用户名“about”,否则他们的 url 将被“about”路由捕获)。

最后,在您的应用程序中,您必须使所有链接都转到正确的 url。如果您在顶部导航栏中有一个“个人资料”按钮,您需要确保它确实转到“website.com/username”,其中用户名是当前登录用户的实际用户名。将动态创建指向其他用户配置文件的所有链接,以转到包含其用户名的正确 url。

于 2012-03-05T17:38:21.660 回答