使用xmllint格式化apache2虚拟主机conf

时间:2014-10-27 10:10:31

标签: linux apache command-line xmllint

我想智能缩进我的apache2虚拟主机conf文件。 我找到了here如何智能缩进xml文件。但虚拟主机conf文件不是有效的xml文件。

例如,如果我尝试在apache2存储库中给出的000-default.conf上使用xmllint,我会收到错误:

$ cat 000-default.conf | xmllint --format -
-:1: parser error : error parsing attribute name
<VirtualHost *:80>
             ^
-:1: parser error : attributes construct error
<VirtualHost *:80>
             ^
-:1: parser error : Couldn't find end of Start Tag VirtualHost line 1
<VirtualHost *:80>
             ^
-:1: parser error : Extra content at the end of the document
<VirtualHost *:80>
             ^

有没有人知道如何处理这个?

1 个答案:

答案 0 :(得分:0)

正如您所说,apache2配置文件不是XML文件。 xmllint是一个(除其他外)重新格式化XML文件的程序。它不适用于apache2配置文件。因此,不要在apache2配置文件上使用xmllint,您将避免上面突出显示的错误。

您最好使用编辑器(请参阅here了解emacs apache2模式),或者为重新格式化apache2配置文件而编写的程序。