php 获取不到header中的Authorization

一般是发生在apache作为web服务器的环境下


方法一:

在apache/config/httpd.conf文件中加入以下配置

<IfModule mod_rewrite.c>
    RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
    #增加下面的内容就可以了
    SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule>

或者

<IfModule mod_rewrite.c>
    RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
    #增加下面的内容就可以了
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>


方法二:

对.htaccess文件进行如下修改

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/?$1 [QSA,PT,L]
 #增加下面的内容就可以了
  SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule>
^