袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

PHP取不到HTTP_AUTHORIZATION的值

浏览量:219

what:

做接口认证的时候,我们可能会用到自定义header头Authorization。
我们都知道php的自定义头信息都可以使用$SERVER[\HTTP\]来获取,如header(\test: wzhtest\);获取的时候,我们可以使用$_SERVER[\HTTP_TEST\]来获取。


why:


  • 这里说明下。Authorization可能是个例外。nginx没问题,但是Apache下可能会出现一个问题。那就是我们使用$_SERVER[\HTTP_AUTHORIZATION\]可能就获取不到值。



how:

Apache服务器下,我们需要开启rewrite_module模块,然后编辑.htaccess文件,在上面加入

#Authorization Headers
RewriteCond {HTTP:Authorization} ^(.+)$
RewriteRule . - [E=HTTP_AUTHORIZATION:{HTTP:Authorization}] 

如果没有开启过rewrite_module模块,我们需要新建.htaccess 内容如下:

Options +FollowSymlinks -Multiviews
RewriteEngine On
#Authorization Headers
RewriteCond {HTTP:Authorization} ^(.+)$
RewriteRule . - [E=HTTP_AUTHORIZATION:{HTTP:Authorization}]



其实也可以用其他名字,比如:Authorizations


打赏