在虚拟主机环境中,我使用apache将静态内容代理到lighttpd后端以获得性能,并使用以下ProxyPassMatch语句绕过静态内容的mod_security性能命中:
ProxyPassMatch(?<!\ .php | .pl | cgi | htm | html | shtml | /)$ http:// 127.0.0.1:35436 /
(:35436是我的lighttpd端口)
此设置适用于将任何不属于上述内容的任何内容代理到lighttpd。我的问题是,正如我刚刚发现的那样,Custom ErrorDocuments不能很好地工作。
.htaccess很简单:ErrorDocument 404 /404.htm
例如foo.com/bar.htm上的404工作,因为它由apache / .htaccess处理 foo.com/bar不起作用,404通过lighttpd foo.com/bar/确实有效,因为它由apache / .htaccess处理(假设/索引。*)
我知道向lighttpd配置添加404的语法,但由于它是虚拟主机环境,我希望用户能够通过单个.htaccess文件来控制它。
有没有办法强制apache处理404(和其他标准错误页面)而不是服从它自己的ProxyPassMatch语句?
非常感谢
答案 0 :(得分:0)
尝试使用:
ProxyErrorOverride On
要在lighthttpd的响应中使用404标头时使用apache 404响应。