【问题标题】:Domain name slash user name redirect to PHP page域名斜杠用户名重定向到PHP页面
【发布时间】:2011-03-08 22:23:06
【问题描述】:

我想找到一种方法,让用户能够在我的域名之后输入他们的用户名来访问他们的公共个人资料页面。 例如,如果您键入youtube.com/username,它将显示该用户的频道页面。结果页面与youtube.com/user/username 相同。 所以在我的网站上,我有mydomain.example/users/profile.php?name=username 它有点复杂,包含 PHP 和变量、子目录以及所有内容......我希望在输入 mydomain.example/username 时显示相同的页面 我真的不知道从哪里开始,但我怀疑它可能是我可以访问的 .htaccess 文件中的某些内容。 感谢您的帮助!

编辑:抱歉,这已经有几天了,我遇到了一些其他问题,直到现在我还无法对其进行测试。无论如何,它不起作用... 回顾一下,我想要mydomain.example/username 过滤到 mydomain.example/users/profile.php?name=username

谢谢..

edit2:我也在stackoverflow上发现了这个...link text我尝试调整它,几天前这里提到的...但它仍然不起作用。有任何想法吗? 我也一直在寻找推荐这个人使用的策略的页面:link text,但看起来这会导致更多的问题而不是它的价值。 有什么想法吗?

【问题讨论】:

  • 我创建了一个“404 处理程序”页面,它采用这样的用户名,在数据库中查找用户的信息,然后重定向到他们的个人资料。所以 /tim 页面永远不存在,而是重定向到蒂姆的个人资料。

标签: .htaccess redirect url-rewriting


【解决方案1】:
RewriteEngine on
RewriteRule ^user/(.*)$ profile.php?name=$1 [NC,B,QSA]

【讨论】:

  • 可能希望将其设为[QSA,NC],以便添加现有的查询字符串项。
  • 我添加了 B 以逃避反向引用并删除了前导 / 因为他引用了 htaccess(每个目录的规则)。
  • 我承认我刚刚更改了谷歌提出的第一个 RewriteRule。所以,是的,谢谢^^
  • 这里不应该有任何类型的 RewriteCond 作为条件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2011-10-19
  • 2017-12-26
  • 2017-07-14
  • 2016-08-17
相关资源
最近更新 更多