我想转换这个网址:
http://example.com/users_images/image.jpg
进入:
http://example.com/users_images/user_123/image.jpg
(123是会话中存储的用户ID)
使用网址重写可以做到这一点吗? 如果没有,你是如何处理这类问题的? 我不希望我的用户访问其他用户的文档。
由于
答案 0 :(得分:2)
无法从.htaccess中的php $ _SESSION数组中读取值以进行url重写。你可以做的是读出%{HTTP_COOKIE}
,所以你可以把它存储在那里,但我会避免这种情况。
我会创建一个存储图像的文件夹,并在其中放置一个包含以下内容的.htaccess文件,以防止每个用户访问它:
Deny from all
然后我会创建一个负责读取会话变量的php脚本,并使用php函数fpassthrough()
将照片传递给用户。当请求图像时,可以调用php脚本,例如:
RewriteRule users_images/(.*) /getpicture.php?image=$1 [L]