$_SERVER['HTTP_AUTHORIZATION']缺失。

4
这是我的.htaccess文件:
RewriteEngine on

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

尽管我已经在.htaccess文件中添加了以下行,但我无法访问$_SERVER['HTTP_AUTHORIZATION']
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

当我执行print_r($_SERVER)时,无法找到HTTP_AUTHORIZATION。我已经搜索了答案,但没有一个有效。

它是共享服务器吗? - Stefano Mtangoo
它是共享托管。 - Sanoj Silva
3个回答

9

我之前也遇到过同样的问题,我通过在根目录下的.htaccess文件开头添加以下行解决了这个问题:

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

你指的是根目录,也就是 index.php 文件所在的位置,对吗? - Sanoj Silva
是的,在大多数共享主机(如果不是全部)中,它是 public_html - Stefano Mtangoo

3

嘿,我也不明白 $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] 是什么意思。我找不到导致这个问题的原因。 - Sanoj Silva

0
如果你运行Apache,可以使用以下命令来获取它:
$auth = array_change_key_case(apache_request_headers(), CASE_LOWER)['authorization'];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接