如何使PHP变量可访问.htaccess?
我想从PHP中分配一个变量,并使该变量可用于我的.htaccess文件,以便它可以使用该值来拒绝或允许访问 index.php文件示例: 是否有一种基于PHP提供的值允许或拒绝通过.htaccess进行访问的方法?在运行PHP脚本之前运行.htaccess文件。换句话说,你所描述的是不可能的 在运行PHP脚本之前运行.htaccess文件。换句话说,你所描述的是不可能的 .htaccess是在PHP文件之前由服务器读取的,因此您要查找的内容是不可能的 另一方面,您可以在.htaccess中设置PHP变量 也许这会对您有所帮助。.htaccess是在PHP文件之前由服务器读取的,所以您要查找的内容是不可能的 另一方面,您可以在.htaccess中设置PHP变量如何使PHP变量可访问.htaccess?,php,.htaccess,Php,.htaccess,我想从PHP中分配一个变量,并使该变量可用于我的.htaccess文件,以便它可以使用该值来拒绝或允许访问 index.php文件示例: 是否有一种基于PHP提供的值允许或拒绝通过.htaccess进行访问的方法?在运行PHP脚本之前运行.htaccess文件。换句话说,你所描述的是不可能的 在运行PHP脚本之前运行.htaccess文件。换句话说,你所描述的是不可能的 .htaccess是在PHP文件之前由服务器读取的,因此您要查找的内容是不可能的 另一方面,您可以在.htaccess中设置P
也许这会对您有所帮助,因为其他答案已经指出,您遇到了鸡/蛋问题:PHP正在运行的事实意味着.htaccess没有理由禁止它,它的工作已经完成 拒绝访问PHP中的页面(您应该在PHP中执行更复杂的身份验证和授权工作)是一件小事:
if($myUser->shouldNotBeHere()) {
header('HTTP/1.1 403 Forbidden');
die('Access denied!');
}
这看起来与浏览器的Apache级别拒绝相同。正如其他答案所述,您遇到了鸡/蛋问题:PHP正在运行这一事实意味着.htaccess没有理由禁止它,它的工作已经完成 拒绝访问PHP中的页面(您应该在PHP中执行更复杂的身份验证和授权工作)是一件小事:
if($myUser->shouldNotBeHere()) {
header('HTTP/1.1 403 Forbidden');
die('Access denied!');
}
这看起来与浏览器的Apache级别拒绝相同。如果您真的需要这种方法,唯一远程可行的选项是创建临时状态/锁定文件,同时只设置PHP会话变量。然后,可以通过从%{HTTP_COOKIE}提取ID并进行简单的重写来探测它们的存在。如果您真的需要这种方法,唯一远程可行的选择是创建临时状态/锁文件,同时只设置一个PHP会话变量。然后,可以通过从%{HTTP_COOKIE}提取ID并进行简单的重写来探测它们的存在。
SetEnv HTTP_MY_VARIABLE "my value"
if($myUser->shouldNotBeHere()) {
header('HTTP/1.1 403 Forbidden');
die('Access denied!');
}