$_SERVER['HTTP_AUTHORIZATION'] 丢失

问题描述 投票:0回答:3

这是我的

.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
。 我已经用谷歌搜索了答案,但没有一个起作用。

php apache .htaccess yii2
3个回答
9
投票

我之前遇到过同样的问题,我通过在根目录的

.htaccess
顶部添加这一行来解决

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
    

3
投票
如果您使用重写规则来传递此标头 - 它可能带有前缀

REDIRECT_

 尝试
$_SERVER['REDIRECT_HTTP_AUTHORIZATION']

但是从 2.0.13 Yii 开始对此有一个抽象,我建议使用它:


0
投票
如果您运行 apache,可以通过以下方式检索它:

$auth = array_change_key_case(apache_request_headers(), CASE_LOWER)['authorization'];
    
© www.soinside.com 2019 - 2024. All rights reserved.