我个人会让应用程序执行所有必要的路由逻辑,而不是依赖 .htaccess。我会这样做:
我将从使用预先构建的路由器类/模块/库开始。如果您使用 PHP 进行编码,请使用Alloy Router 之类的东西。如果您正在使用某种框架,则可能已经内置了路由。
下一步将是创建一个“捕获所有”配置文件路由,该路由捕获以前未“捕获”的所有路由。您可能有一堆其他路线,例如“website.com/about”、“website.com/contact”等,这些路线将首先被捕获,然后包罗万象的路线将获得所有其他路线。
包罗万象的路由会将您的应用程序路由到“配置文件”控制器。该控制器查看给定的路由并检查路由中的“用户名”是否与数据库中的用户名匹配。如果是这样,请创建该特定用户的配置文件。如果没有,请提供 404。
您必须确保所有用户名都是唯一的,并且它们不会与其他路由冲突(即用户不能拥有用户名“about”,否则他们的 url 将被“about”路由捕获)。
最后,在您的应用程序中,您必须使所有链接都转到正确的 url。如果您在顶部导航栏中有一个“个人资料”按钮,您需要确保它确实转到“website.com/username”,其中用户名是当前登录用户的实际用户名。将动态创建指向其他用户配置文件的所有链接,以转到包含其用户名的正确 url。