我应该如何根据用户的用户名创建一个网址?
有人可以帮助我处理代码和.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_html
或 www
) 添加以下规则
RewriteEngine on
RewriteBase /
RedirectRule ^users/(.*) /profile.php?username=$1 [END,NC]
NC
标志使比较不区分大小写。这意味着users/Stack
和USERS/Stack
都将被重定向。如果要区分大小写的比较,请将其删除
END
标志告诉服务器停止查找更多重定向规则。基本上,它确保/profile.php?username=...
该请求的最终目的地。
补遗
如果您确实想将客户重定向到相反的方向,请改用此规则
RedirectRule ^profile.php?.*username=([^&$]+) /users/$1 [END,NC]
如果路径/users/name
不是真实文件,这可能会给您带来问题