htaccess将用户重定向到他的个人资料

问题描述:

我有一个域www.domain.com,我有用户使用用户名创建个人资料。我创建了一个机制让他们使用htaccess和index.php文件中的一些代码访问其公共配置文件www.domain.com/usernamehtaccess将用户重定向到他的个人资料

我的.htaccess文件看起来是这样的:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [L,QSA] 

另外一个特点是,用户可以选择他们的个人资料设计(第一或第二设计)。因此,我将选定的设计存储在数据库中,并将www.domain.com/username重定向到www.domain.com/1/www.domain.com/2/,并在该URL上加载用户配置文件。在PHP该逻辑是

//Load profile of user 
$requestURI = $_SERVER['REQUEST_URI']; 
$parameterArray = explode('/', $requestURI); 
$username = $parameterArray[1]; 

if($username != "") 
{ 
    //Get chosen design from database and store it in a variable 
    $chosenDesign = *Selected design value*; 
    header("Location: $chosenDesign/"); 
} 
else 
{ 
    //Username not found, hence redirect to error page 
    header("Location: 404.html"); 
} 

我的问题是,我怎么能以这样的方式重定向的URL总是www.domain.com/username和加载设计的背景(逻辑),并显示它。

+0

你使用哪种框架? – ex3v 2014-12-08 09:02:38

+0

我不使用任何框架。我编写了整个逻辑来显示数据库中的数据。 – 2014-12-08 09:03:24

+0

那么,你基本上正在努力编写自己的路由器? – ex3v 2014-12-08 09:05:44

无法在可见链接中隐藏信息。 您可以使用像这样的链接:

www.domain.com/username-1重定向 - >www.domain.com/page.php?user=username&design=1

对于那种东西,我用饼干...

+0

我想我们可以通过htaccess隐藏链接。当我只有一个设计时,我成功地解决了上述问题。我默认加载了设计。但我似乎没有得到正确的2设计htaccess。 – 2014-12-09 00:25:30

+0

您有时可以隐藏链接的转换或更改。但是你需要展示或开始链接或最终链接。所有相关信息必须包含在其中一个或另一个中。您可以隐藏cookie中的信息... – Croises 2014-12-09 00:53:54