Apache的RequestHeader无效,并且在.htaccess中看不到效果

时间:2017-05-05 17:22:53

标签: apache .htaccess mod-headers

这是一个apache问题。 我使用RequestHeader在配置文件中设置了一个标头。 (本地apache安装) 我可以看到它按照自定义php脚本的输出来转储标题:标题就在那里。

然而,.htaccess中未实现基于该标题存在的规则。 同一个.htaccess文件在另一台服务器上按预期工作。

我添加的请求标头似乎在.htaccess中不可见。 有什么想法吗?

Apache conf:RequestHeader设置X-Forwarded-Proto" https" 的.htaccess: RewriteCond%{HTTP:X-Forwarded-Proto}!https RewriteRule ^ https://% {HTTP_HOST}%{REQUEST_URI} [R = 301,L,NE]

永远循环。但它完全适用于AWS负载均衡器后面的配置。

2 个答案:

答案 0 :(得分:1)

感谢帮助agent220。

我终于找到了解决方案......它需要清楚地了解Apache处理规则或运气(后者在我的情况下)。

工作指令是: RequestHeader设置X-Forwarded-Proto" https"早

高度,不显眼,大量强调“早期”这个词。 这就是全部...... 希望对别人有用。 Teebo

答案 1 :(得分:0)

.htaccess中的其他规则是否适用于服务器?因为如果它们没有那么它可能是由于Apache Config文件中的配置(httpd.conf或apache2.conf取决于你的发行版)

编辑此文件。查找您网站的目录......如:

    <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

None选项更改为AllAllowOverride。重启Apache服务。

AllowOverride指令用于允许在Web服务器中使用.htaccess,以允许在每个目录的基础上覆盖Apache配置。 See this doc for details