htaccess将用户重定向到他的个人资料
我有一个域www.domain.com
,我有用户使用用户名创建个人资料。我创建了一个机制让他们使用htaccess和index.php文件中的一些代码访问其公共配置文件www.domain.com/username
。htaccess将用户重定向到他的个人资料
我的.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
和加载设计的背景(逻辑),并显示它。
无法在可见链接中隐藏信息。 您可以使用像这样的链接:
www.domain.com/username-1
重定向 - >www.domain.com/page.php?user=username&design=1
对于那种东西,我用饼干...
我想我们可以通过htaccess隐藏链接。当我只有一个设计时,我成功地解决了上述问题。我默认加载了设计。但我似乎没有得到正确的2设计htaccess。 – 2014-12-09 00:25:30
您有时可以隐藏链接的转换或更改。但是你需要展示或开始链接或最终链接。所有相关信息必须包含在其中一个或另一个中。您可以隐藏cookie中的信息... – Croises 2014-12-09 00:53:54
你使用哪种框架? – ex3v 2014-12-08 09:02:38
我不使用任何框架。我编写了整个逻辑来显示数据库中的数据。 – 2014-12-08 09:03:24
那么,你基本上正在努力编写自己的路由器? – ex3v 2014-12-08 09:05:44