我们目前有一个网站服务器,其中设置了许多子域名,这些子域名都以<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“包含此规则文件”说。我的意思是我可以为大部分规则编写规则文件,并为每个子域名页脚编写单独的文件。徽标更改,这样的事情(仅作为示例,我不确定实际的命令):
You can find the deliverance documentation here,但我可以找到有关包含声明的任何内容。
<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
但这个问题是关于 Deliverance NOT Diazo! - 因为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>
然而,这会打破Deliverance,当我浏览到我得到的任何子域时:
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">
然而,这也打破了Deliverance。
欢迎任何想法!