1

我们目前有一个带有许多子域设置的网络服务器,这些子域分别以<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"> 

然而,这也打破了拯救。

欢迎任何想法!

4

0 回答 0