如何根据帐户的用户名添加 URL


How to add a URL based on the username of the account

我应该如何根据用户的用户名创建一个网址?
有人可以帮助我处理代码和.htaccess配置吗?

users.com/usernamehere

如果你想在Github上查看它
如果您想在实时网站上查看它

信息
如果我的用户想要查看他的页面,他将转到"users.com/hisusername"。该链接将获取他的用户名并显示有关其帐户的信息,并且.htaccess将具有重写规则(我猜?有人可以帮我写代码吗?

建议
我在某些教程中看到了这一点,但我无法遵循它们,因此如果页面具有" ?username=usernamehere"标签,则用户将被重定向到" usernamehere "页面上。
示例:用户在"users.com/profile.php?username=Stackoverflow"上,用户将被重定向到:"users.com/users/Stackoverflow"。这有可能发生吗?谢谢,祝你有美好的一天:)

用户在users.com/profile.php?username=Stackoverflow和 用户将被重定向到:users.com/users/Stackoverflow 。任何 这种情况发生的可能性?

注意:尽管此引用表明相反,但下面的答案假设您希望用户在URL栏中输入users.com/users/Stackoverflow

将一个名为 .htaccess 的文件放在您网站的文档根目录(包含您网站文件的最高目录,通常称为 public_htmlwww ) 添加以下规则

RewriteEngine on
RewriteBase /
RedirectRule ^users/(.*)  /profile.php?username=$1  [END,NC]

NC标志使比较不区分大小写。这意味着users/StackUSERS/Stack都将被重定向。如果要区分大小写的比较,请将其删除

END标志告诉服务器停止查找更多重定向规则。基本上,它确保/profile.php?username=...该请求的最终目的地。

补遗

如果您确实想将客户重定向到相反的方向,请改用此规则

RedirectRule ^profile.php?.*username=([^&$]+)  /users/$1  [END,NC]

如果路径/users/name不是真实文件,这可能会给您带来问题