微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在.htaccess中获取PHP会话variables

是否有可能在Apache中的.htaccess文件中读取PHP $ _SESSION数组中的数据? 所以说我有以下几点:

$_SESSION['foo'] = 'bar';

那么我可以在.htaccess中进行如下操作:

RewriteRule bla.png folder/{the PHP session var foo}/file.png

那可能吗?

我已经有一个工作的解决方法,但如果这是可能的,这将是更好的方式。

https非www到https www

如何使用.htaccess重新编写URL

500内部服务器尝试使用ErrorDocument处理请求时出错

使用.htaccess来限制对文件下载的访问

mod_rewrite启用,但不能正常工作

mod_rewrite:删除尾部斜线(只有一个!)

Cloudflare随机错误302redirect

基于ip的mod_rewrite

从网站url中删除index.PHP

使用重写规则从url中删除.PHP后,css和img文件404

我不知道它是可能的。

但是我可以考虑一些涉及重写PHP脚本的解决方法

回答主要问题:

不,至少不像你想象的那样。 该文件被称为.ht access因为它们是“分布式配置文件” ,当然配置&& 访问处理必须先发生 – 所以你不能得到“PHP会话变量”,因为它只是在处理.htaccess

我会在下面向您展示一些解决方法,但之前 – 您应该注意这一点:

这真的有必要吗? – 建议解决方案:

如果你只是想通过登录用户重定向文件路径 – .htaccess不是方法 – 只用bla.PHP作为地址,然后在PHP文件中做重定向 – 如下所示:

<?PHP session_start(); header("Location: folder/".$_SESSION['foo']."/file.png"); exit(); ?>

但是,如果你不能改变源URL,你将首先必须重定向bla.png bla.PHP但我想你知道如何做到这一点:-)

在使用MPV / MVC模型的框架中,出于某种原因,通常会有“路由”脚本 – 例如这个。

或者,你可以从这个脚本中创建一个PHP-router”,在使用if/elseif/else或case添加一些其他依赖PHP重定向,以便选择将要发生的事情 – 重定向的位置。

要么

你可能正在使用一个会话 – 所以为什么不直接在PHP生成的URL像:

$url = "example.com/bla.png?foo=".$_SESSION['foo']; +正则表达式在.htaccess甚至:

$url = "example.com/folder/".$_SESSION['foo']."/file.png";

无论如何,我想你是重定向,因为你不能(出于某种原因)这样做。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐