2011-08-12 61 views
1

有一点与htaccess的烦恼,此刻我有一个重写规则,它取代了查询字符串到一个文件夹结构htaccess的URL重写

RewriteRule profile/id/(.*) u_profile.php?id=$1 

该吐出/profile/id/1/这是完美的,虽然,我d真的很想在其中添加另一个变量以获取用户名。

此刻,我对大家$_SESSION['username'];一套谁是登录,我想真正把它传递给查询字符串像这样,

/profile/john/id/1/ 
/profile/sarah/id/1/ 
etc 
+3

这是不可能通过PHP $ _SESSION值URL重写,因为URL重写执行之前任何PHP脚本。如果你正在使用一些框架,可能会有解决方法。请更新您的问题与使用的框架,如果有的话。 – J0HN

+0

你可以使用用户名添加cookie,然后使用它 – llamerr

+0

感谢您的协助,下面的答案符合我的需求。 – Adam

回答

1

我认为这是你在找什么:

RewriteRule profile/(.*)/id/(.*) u_profile.php?person=$1&id=$2 

然后,您可以通过$_GET['person']访问该名称,并将其与$_SESSION进行比较。

+0

谢谢,这完美的作品:) – Adam

+0

Kokos,现在如果我想要删除/ id /文件夹完全读取,/ profile/john/1 /? – Adam

+0

非常简单,将'profile /(.*)/ id /(.*)'改成'profile /(.*)/(.*)' – Kokos

0

要删除ID的一部分,你只可以删除/id

它应该是这样的:

RewriteRule profile/(.*)/(.*) u_profile.php?person=$1&id=$2