创建.htaccess文件的虚拟目录

时间:2012-02-20 17:46:12

标签: php .htaccess

我最近搜索过所有论坛,包括StackOverflow,但找不到任何解决方案如何使用.htaccess文件。我听说使用这项服务创建了虚拟目录。

如果设置了用户名

,我希望用户个人资料的虚拟路径显示如下

www.example.com/username

或如果未设置用户名,则将显示用户个人资料以及此链接

www.example.com/profile.php?id=134531

就像facebook一样。

有人可以给我发一个确切的代码吗?提前谢谢。

2 个答案:

答案 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)

这是网址重写,寻找它,你会发现很多教程