【发布时间】:2019-07-04 13:15:45
【问题描述】:
所以基本上我有一个用 laravel 和 react 制作的应用程序,它工作正常,在我将它部署到实时服务器后,护照身份验证不起作用。似乎“授权”标头不会发送到服务器,对于该问题,我还更改了“.htaccess”文件但没有更改。
这是我的“.htaccess”文件。
选项 - 多视图
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization HeaderRewriteEngine On
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#Https redirection
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) MY_SITE/$1 [R=301,L]
【问题讨论】:
-
你怎么知道服务器没有接收到标头?你用什么检查的?
-
我使用 Insomnia (Postman Alternative) 来查看我没有收到响应消息中的标头。
-
授权头不是由服务器在响应中发送的,它只是由客户端发送到服务器。你的意思是你没有收到其他一些标题?您是否检查过您的控制器是否可以访问
$request->header('Authorization')值以查看您没有在请求中获取标头? -
是的,我检查过了,它在我的本地服务器上运行良好,但它在实时共享托管服务器上给我带来了问题
-
你发现问题了吗?
标签: php laravel .htaccess authentication laravel-passport