Hem*_*ema 5 apache-2.2 apache-2.4
我有一个如下所示的 mod_substitute,它在 curl 中工作得很好,但在浏览器上却没有。此外,它适用于除一页之外的所有页面。
我想知道什么会导致 mod_substitute 在浏览器上不起作用?如何调试和解决这个问题?
Pet*_*r H 14
要解决此类问题,最好将浏览器中的标头与 curl 中的标头进行比较(-i
, --include
flag 将显示标头,并且-H
flag 可以添加它们),并从浏览器一次添加一个到 curl 命令,直到问题重现。
我在mod_substitute 文档页面的评论部分阅读了描述与您描述的症状类似的症状,mod_substitute
有时无法按预期工作:
原来这是我们过滤器链的顺序。DEFLATE 在 SUBSTITUTE 之前运行。对于小文件,DEFLATE 没有做任何事情,所以它起作用了。在一些没有发送 Accept-Encoding 标头的内部代理上,它正在工作。但是,其他时候却没有。最后,这效果最好:
AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html text/plain text/xml
Run Code Online (Sandbox Code Playgroud)
另一种选择是取消设置目标资源的 Accept-Encoding 标头,其中mod_substitute
应该进行替换。
RequestHeader unset Accept-Encoding
Run Code Online (Sandbox Code Playgroud)
它的(可以说),最好使用其他替代绝招,让你可以收获两个好处mod_deflate
和mod_substitute
虽然。
归档时间: |
|
查看次数: |
4272 次 |
最近记录: |