我最近搜索过所有论坛,包括StackOverflow,但找不到任何解决方案如何使用.htaccess文件。我听说使用这项服务创建了虚拟目录。
如果设置了用户名
,我希望用户个人资料的虚拟路径显示如下www.example.com/username
或如果未设置用户名,则将显示用户个人资料以及此链接
www.example.com/profile.php?id=134531
就像facebook一样。
有人可以给我发一个确切的代码吗?提前谢谢。
答案 0 :(得分:3)
我假设虚拟目录是指重写。您有一个profile.php页面,可以通过用户名或ID来加载用户个人资料。
让我们解决您的第一个问题,将/[username]
映射到profile.php?username=[username]
。
此解决方案假定您的Apache服务器上安装了mod_rewrite
。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ profile.php?username=$1 [L]
(将它放在webapp根目录下的.htaccess文件中或Apache conf中的VirtualHost目录中)
这将在内部重写对profile.php?username = [username]的/ [username]的任何请求。
至于在可用时使用用户名,在没有用户名时使用用户名 - 在生成链接时,您必须实施该用户名。
<?php
$profile_url = $username ? : 'profile.php?id='.$userid;
?>
<a href="/<?php echo $profile_url; ?>">View profile</a>
负责建立链接。然后你有你的profile.php页面:
$username = $_GET['username'];
$userid = $_GET['id'];
if ($username) {
/* Load user via username */
} else {
/* Load user via ID */
}
在互联网上有很多关于使用Apache进行URL重写的教程,只需谷歌并通过一些测试设置。
答案 1 :(得分:1)
这是网址重写,寻找它,你会发现很多教程