2012-05-23 41 views
0

我知道可能有关于虚荣URL的其他问题,但是我看到的每个人都有一个不同的代码,我猜这些代码可以做同样的工作。因此,我不明白什么规则最适合我的个人问题,这里说的是我的问题。虚荣URL和Xampp

我只是想创建此,

127.0.0.1/website/profile.php?id=1

对此,

127.0.0.1/website/profile/Admin

我的子问题都还可以,

  1. 我了解.htaccess文件必须是根目录,但我的网站的根或我的xampp htdocs?(例如c:/ xampp/htdocs /或c:/ xampp/htdocs /网站)
  2. 使用php我应该在id之间转换为用户名URLS单独文件然后重定向到请求的用户页面?

谢谢你的阅读,我只是似乎无法让我的头.htaccess!

+0

您的情况下,最好的代码是工作的一个。有没有解决方案为你工作? – JJJ

+0

不要害怕没有,也因为我想它将用户名转换为id然后显示页面,因为我的profile.php只接受$ _GET(profile.php?id = 1)中的一个id我不知道天气我应该重定向.htaccess的一个小文件,将它转换为我然后重定向到正确的配置文件或别的东西? – Harry

+0

这就是它在大多数(每个?)解决方案中都会如何工作的。用户可以访问'profile /用户名',脚本将像访问'profile.php?id = X'一样工作。 – JJJ

回答

1
  1. 您网站的根目录。
  2. 无需重定向。它的工作方式是可以将URL的每个部分映射到URL参数。例如,http://localhost/profile/Admin确实被解释为http://localhost/website/profile.php?username=Admin。只有用户才能看到虚空网址; PHP仍然会看到URL参数。在你的情况下,.htaccess规则看起来像^profile/([0-9]+)$ profile.php?username=$1(我显然不知道,因为我不知道你的网站架构)。

在一个侧面说明,你可能会发现虚拟主机有趣。这是能够为您的网站创建自己的本地域的一种方式,例如http://my-local-website而不是使用http://localhost/website或等待生产测试。

此处了解详情:http://sawmac.com/xampp/virtualhosts/

+0

伟大的信息!谢谢。我目前有我的profile.php设置为只接受ID,profile.php?id = 1而不是profile.php?username = Admin。你会建议我改变我的所有代码以解决虚荣网址或创建另一个文件,将用户名转换为ID,然后重定向到profile.php?id = 1。例如, profile/admin - > func.convert.php?username = admin - >抓取管理员的id并将其重定向到profile.php?id = 1 – Harry

+0

如果您重定向用户,则几乎会击败用户虚荣网址。将'id'改为'usernamme'(它也应该是唯一的),或者只是使用id *而不是*用户名,例如'htttp:// localhost/website/profile/1'。 –

+0

啊好吧,我不知道它实际上会去重定向的原始链接,我看我现在去哪里错了,我将不得不硬编码到profile.php,以便它接受用户名,谢谢Ayman! – Harry