apache服务器 php获取不到Authorization

在开发api接口时候,token放到了信息头的Authorization上,后端直接读取信息头拿去token,总是拿不到,把整个header打印出来,就是没有Authorization

放线上环境又没有问题,线上和本地环境差的就是NGINX和apache……

Google发现是apache的问题,原来是apache把这个信息头Authorization去掉了
修改.htaccess文件就可以修复,新增这部分。

第一种方法:

<[#去掉我]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]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
<[#去掉我]/IfModule>

bd59a028004d2b4120c90f9f59cea214.png

转载:https://blog.csdn.net/F_e_lix/article/details/82349348


0
这么好的文章,居然没人点赞?

要回复文章请先登录注册

0 个评论

还没有人评论,快抢沙发!

服务热线

13800138000

咨询时间 9:00 - 18:00

扫一扫联系我们

扫一扫联系我们