![apache2 由于正则表达式而启动失败](https://linux22.com/image/531001/apache2%20%E7%94%B1%E4%BA%8E%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%80%8C%E5%90%AF%E5%8A%A8%E5%A4%B1%E8%B4%A5.png)
我最近为 apache2 启用了 mod_proxy,在断电重新启动服务器后,每当我尝试启动 apache2 时都会出现以下错误:
* Starting web server apache2
Syntax error on line 39 of /etc/apache2/sites-enabled/000-default:
Regex could not be compiled
Action 'start' failed.
The Apache error log may have more information.
第 39 行包含以下内容:
<ProxyMatch *>
我尝试读取 error.log 文件,但找不到有关此错误的任何信息。
在服务器突然关闭之前,Apache2 可以正常运行(使用这些确切的设置)。我的问题当然是:我该如何解决这个问题?
答案1
根据文档,该ProxyMatch
指令将正则表达式作为其参数。 *
它本身并不是正则表达式——*
只是表示“前一个字符零次或多次”。因此,匹配所有内容的正则表达式如下所示:
<ProxyMatch .*>
即“任意字符” ( .
) 零次或多次 ( *
)。
请注意,该Proxy
命令使用 glob 样式匹配,因此这是有效的:
<Proxy *>
我猜这就是你的意思。
了解更多信息