所以我在这个网站上工作,就像社交网络一样,每个用户都应该有一个个人资料页面,可以通过他/她可以与朋友和朋友分享的简单链接访问。
我完全理解如何通过从SQL数据库获取基于名称/ id的数据并正确显示选择结果来实现此目的。但是我只会通过从$_GET
获取ID来知道如何执行此操作,如下所示:
如果用户打开www.socialnetwork.com/profile.php?name=daniel
,我可以查找$_GET['name']
并完成其余工作。
但是我不希望这样做,我真的希望通过这样的链接找到用户页面:
www.socialnetwork.com/daniel
或至少www.socialnetwork.com/profile/daniel
所以更像是一个假的子目录而不是一个属性。
我怎么能这样做?
答案 0 :(得分:0)
您可以尝试使用$_SERVER['REQUEST_URI']
,它会为您提供类似profile/daniel
的内容,然后使用正则表达式来解析网址数据。
当然,您还需要通过Web服务器conf将这些URL路由到PHP脚本。
答案 1 :(得分:0)
为此,您可以将MOD_REWRITE与.htaccess一起使用。
本指南可能会对您有所帮助:Ultimate Guide to htaccess and mod_rewrite | Branded3。
也请回答这个问题:Using mod-rewrite to pass route to index.php。
特别是,这可以帮助你(未经测试,请写一些评论):
RewriteEngine on
RewriteBase /
RewriteRule /profile/(.*) /profile.php?name=$1 [R=301,L]
有关MOD_REWRITE的更多信息:Apache mod_rewrite Introduction - Apache HTTP Server