我们目前有一个带有许多子域设置的网络服务器,这些子域分别以<match>
声明为主题。
例如:1.abc.com、2.abc.com 等。
该deliverance.xml
文件(规则文件)具有以下规则:
<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
<!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
<!-- rules for 2.abc.com -->
</rules>
由于这些子域的性质,每个子域之间在视觉上几乎没有区别(徽标可能会改变,或者页脚的颜色等 - 没什么大不了的)
因此,我必须为 1.abc.com 包含与 2.abc.com 相同的规则(例如替换样式、插入内容等)。
结果,我的规则文件迅速变得庞大,包含重复的规则,虽然它有效,但它相当混乱且不必要地重复。
我似乎记得在某个地方找到了一些文档,这些文档解释了我如何对 Deliverance 说“包含此规则文件”。我的意思是我可以为大部分规则编写一个规则文件,并为每个子域页脚和徽标更改编写单独的文件,如下所示(仅作为示例,我不确定实际的命令):
您可以在此处找到交付文档,但我可以找到有关包含声明的任何内容。
<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
<include href="[PATH TO GENERIC RULES FILE]"/>
<!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
<include href="[PATH TO GENERIC RULES FILE]"/>
<!-- rules for 2.abc.com -->
</rules>
这将使我能够拥有一个更简洁的规则文件,并且几乎没有重复。
有没有人有任何想法?我必须强调,虽然这有标签Plone
这个问题是关于拯救而不是重氮!- 因为 Diazo 比Deliverance 有更多的命令。
编辑:
我也试过这个命令:<xi:include href="generic-deliverance.xml" />
所以要确认我的规则如下:
<match domain="1.abc.com" class="1" />
<match domain="2.abc.com" class="2" />
<rules class="1">
<xi:include href="generic-deliverance.xml" />
<!-- some rules for 1.abc.com -->
</rules>
<rules class="2">
<xi:include href="generic-deliverance.xml" />
<!-- rules for 2.abc.com -->
</rules>
然而,这打破了交付,当我浏览到任何子域时,我得到:
Server Error
An error occurred. See the error logs for more information.
(Turn debug on to display exception reports here)
我还将此作为我的规则声明:
<rules xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns="http://www.plone.org/deliverance">
然而,这也打破了拯救。
欢迎任何想法!