我目前拥有一个简单用户系统的网站,并且讨厌人们在访问个人资料时看到的丑陋的'profile.php?id = $ id'或'/users/$id/friends.php'URl 。话虽如此,我将如何改变:
“/ users / $ id / friends.php”
将部分替换为相应的用户名,例如:
“/ $ username / friends.php /”
这怎么可能?我可以通过使用preg_replace编辑.htaccess来完成这项工作,还是应该在创建时将目录命名为$ userid?第一次发布抱歉可能出现的错误。
答案 0 :(得分:0)
你必须在你的php文件中的htaccess文件和代码中编写一些路由规则来处理这类事情。 htaccess规则是直截了当的,它们只是采用看起来像/$username/friends.php/
的URL并将其批发发送到脚本:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/friends\.php/?$ /user_route.php?username=$1 [L]
路径可以指向您想要的任何脚本,无论您想要什么参数。 /user_route.php?username=$1
只是一个示例,"用户名"是示例中的$username
传递为。
然后在您的user_route.php
脚本中,您需要获取$_GET['username']
变量,清理它(如果有破折号或空格或其他内容),请执行数据库查找以查找用户的ID,然后将其传递给配置文件脚本(或您处理好友事务的任何脚本)。
然后,您需要确保所有链接都显示为/$username/friends.php/
。