基于动态配置文件的网站还有硬链接?

时间:2011-06-06 21:35:09

标签: php mysql database-design

好的,所以我正在建立一个拥有客户档案的网站。 Web用户通过搜索功能找到这些mysql配置文件。配置文件页面是一个php页面,它通过通过该地址传递的#id号码加载所有mysql数据。这一切都很棒,但我的客户,基于业务模式和需求,需要能够将他们的配置文件绑定到一个看起来不错并且没有包含可变数据的硬地址。

让我举个例子来解释一下。想象一下,该网站名为bizprofiles.com。用户搜索数据库并单击搜索显示中的链接。搜索只是将ID号放在变量中,因此地址可能类似于:

http://www.bizprofiles.com/profile.php?id=1002937

当他们希望客户访问该网站时,企业不会想要在那里放置一个地址,所以我想知道我怎么能有一个硬地址,不知何故仍然用mysql加载配置文件页面数据。所以商家可以有这样的地址:

http://www.bizprofiles.com/bizname

请记住,我使用PHP和MYSQL构建了此站点。提前感谢你能给我的任何见解!

2 个答案:

答案 0 :(得分:1)

为每个配置文件分配unique-name(用户名,可证明)并将其映射到数据库中的profile_id

修改

这是基本的想法:
您需要在doc-root包含.htaccess文件,其中包含:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([a-zA-Z0-9]*)$ profile.php?user=$1 [L]

以上代码的作用是:将http://www.bizprofiles.com/profile/bizname之类的网址转换为http://www.bizprofiles.com/profile.php?user=bizname

因此,您现在需要做的是更新profile.php以根据unique-name中提供的$_GET["user"]显示个人资料。

答案 1 :(得分:0)

您需要在数据库中保留所谓的“slug”。您的表“客户”需要存储将用于生成链接的唯一名称。参见Facebook,它可以让你分配你想要的名字。

http://codex.wordpress.org/Glossary#Post_Slug