使用用户ID重写网址

时间:2014-11-19 08:46:14

标签: php .htaccess url-rewriting

我想转换这个网址:

http://example.com/users_images/image.jpg

进入:

http://example.com/users_images/user_123/image.jpg(123是会话中存储的用户ID)

使用网址重写可以做到这一点吗? 如果没有,你是如何处理这类问题的? 我不希望我的用户访问其他用户的文档。

由于

1 个答案:

答案 0 :(得分:2)

无法从.htaccess中的php $ _SESSION数组中读取值以进行url重写。你可以做的是读出%{HTTP_COOKIE},所以你可以把它存储在那里,但我会避免这种情况。

我会创建一个存储图像的文件夹,并在其中放置一个包含以下内容的.htaccess文件,以防止每个用户访问它:

Deny from all

然后我会创建一个负责读取会话变量的php脚本,并使用php函数fpassthrough()将照片传递给用户。当请求图像时,可以调用php脚本,例如:

RewriteRule users_images/(.*) /getpicture.php?image=$1 [L]