我正在尝试将apache请求错误记录到syslog中,但我遇到了条件记录的问题。似乎没有包含最终状态代码的变量。这就是我现在所拥有的:
CustomLog "|/usr/bin/logger -thttpd -plocal6.notice" "%h \"%{PHPSESSID}C\" \"%m %>s %U%q\" \"%Dms\"" "expr=%{REQUEST_STATUS}=~/^4/"
CustomLog "|/usr/bin/logger -thttpd -plocal6.warning" "%h \"%{PHPSESSID}C\" \"%m %>s %U%q\" \"%Dms\"" "expr=%{REQUEST_STATUS}=~/^5/"
这不起作用,因为%{REQUEST_STATUS}
不包含最终状态代码,并且在评估点,对于php-fpm处理的请求,它似乎总是200。我按照mod_rewrite documentation中的说明尝试了%{LA-U:REQUEST_STATUS}
,但这会导致语法错误:
syntax error, unexpected T_ERROR, expecting T_VAR_END or ':': Invalid character in variable name '-'
我该如何解决这个问题?