Php 即使在.htaccess修改之后也找不到Apache授权标头
我有一个具有.htaccess文件的laravel应用程序,如下所示Php 即使在.htaccess修改之后也找不到Apache授权标头,php,apache,.htaccess,laravel,ubuntu,Php,Apache,.htaccess,Laravel,Ubuntu,我有一个具有.htaccess文件的laravel应用程序,如下所示 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQ
<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>
选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
重写规则^-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
我希望在我的请求头中有一个“授权”密钥,但在运行Ubuntu 14.0.4的开发服务器上却没有
同一个操作系统在我的本地机器上,在本地机器上工作得很好
这两个环境之间的唯一区别是在我的本地机器中,我制作了一个VirtualHost,因为我无法在dev服务器上制作VirtualHost,所以我通过IP地址/projectroot访问它,所以我终于找到了原因。实际上,我的Apache默认配置文件不允许我的project.htaccess文件覆盖其配置。这就是.htaccess中的行的原因
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
没有效果。为了允许,我将该指令放在我的apache配置文件中,例如its/etc/apache2/sites available/000 default.conf
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
# AllowOverride None (Old value)
AllowOverride All #(New Value)
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
选项索引跟随符号链接多视图
#AllowOverride无(旧值)
AllowOverride All#(新值)
命令允许,拒绝
通融
#如果要查看apache2,请取消对该指令的注释
#转到时的默认起始页(在/apache2默认值中)/
#重定向匹配^/$/apache2默认值/
两个phpinfo()结果之间是否有任何不同,特别是对于服务器[“HTTP\U连接”]?否,都有“保持活动”值