我的问题是,我希望我的用户拥有自定义网址http://mywebsite.com/username
。
我已经阅读了.htaccess file
,但我和GoDaddy在一起,所以我相信我需要对web.config file
做点什么。
问题是目前我的用户个人资料网址没有显示,而且PHP代码也是特定于任何用户的。它只是为每个用户说http://mywebsite.com/profile(网站仍处于测试模式,因此现在没有任何用户是真实的)。
当配置文件网址当前未显示任何特定用户信息(如user?id=3
或其他任何内容)时,如何使网址重写生效?我如何至少获取当前配置文件以获取特定用户信息?
答案 0 :(得分:1)
我个人会让应用程序执行所有必要的路由逻辑,而不是依赖.htaccess。这就是 I 的做法:
我首先使用预先构建的路由器类/模块/库。如果您使用PHP编码,请使用Alloy Router之类的内容。如果您使用的是某种类型的框架,则可能已经内置了路由。
下一步是制作一个“捕捉所有”的个人资料路线,捕捉所有之前未被“捕获”的路线。您可能会有一些其他路线,例如“website.com/about”,“website.com/contact”等,这些路线将首先被捕获,然后全部路线将获得所有其他路线。
全能路线将您的应用程序路由到“配置文件”控制器。此控制器查看给定路由并检查路由中的“用户名”是否与数据库中的用户名匹配。如果是,请创建该特定用户的配置文件。如果没有,请提供404。
您必须确保所有用户名都是唯一的,并且它们不会与其他路由冲突(即用户不能使用“about”用户名,否则他们的url将被“about”路由捕获)。
最后,在您的应用程序中,您必须将所有链接转到正确的URL。如果您在顶部导航栏中有“个人资料”按钮,则需要确保它实际上转到“website.com/username”,其中username是当前登录用户的实际用户名。将动态创建指向其他用户配置文件的所有链接,以转到包含其用户名的正确网址。