我有一个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地址/项目进行访问
答案 0 :(得分:0)
所以最后我找到了原因。实际上我的Apache默认配置文件不允许我的项目.htaccess文件覆盖其配置。这就是为什么.htaccess中的行
main.o: In function main':
main.cpp:(.text+0x19): undefined reference to
Hello1::sayHello()'
collect2: ld returned 1 exit status
无效。为了允许,我把这个指令放在我的apache配置文件中 RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
/etc/apache2/sites-available/000-default.conf