即使在.htaccess修改后也找不到Apache Authoization Header

时间:2016-04-07 11:05:25

标签: php apache .htaccess laravel ubuntu

我有一个laravel应用程序,其中包含.htaccess文件,如下所示

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    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]

    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我期待我的请求标头中有一个“授权”密钥,但是它没有通过运行Ubuntu 14.0.4的开发服务器。

相同的操作系统位于我的本地计算机和本地计算机中,它运行正常。

这两个环境之间的唯一区别是在我的本地机器上我已经创建了一个VirtualHost,因为我无法在开发服务器上创建VirtualHost所以我通过IP地址/项目进行访问

1 个答案:

答案 0 :(得分:0)

所以最后我找到了原因。实际上我的Apache默认配置文件不允许我的项目.htaccess文件覆盖其配置。这就是为什么.htaccess中的行

main.o: In function main':
main.cpp:(.text+0x19): undefined reference toHello1::sayHello()'
collect2: ld returned 1 exit status

无效。为了允许,我把这个指令放在我的apache配置文件中 RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

/etc/apache2/sites-available/000-default.conf