0

我在使用 XML document() 调用时遇到了一个非常奇怪的问题。

我的代码很简单,但结果很奇怪。我创建了一系列变量来描述特定文件的路径。然后我使用 document($varname) 来引入文件。它可以工作,但会从我们的子域之一而不是我想要的子域中引入文件。

这是代码:

<xsl:variable name="serverSecure" >https://www.mywebsite.com</xsl:variable>
<xsl:variable name="dirCorrected"><xsl:value-of select="normalize-space(translate($dir, '\', '/'))" /></xsl:variable>
<xsl:variable name="form" ><xsl:value-of select="$serverSecure" /><xsl:value-of select="$dirCorrected" />html/<xsl:value-of select="/page/@name" />.html</xsl:variable>

页面加载时,它不会显示位于https://www.mywebsite.com/somedir/form/html/的文件,而是显示来自 https:// wwwtest .mywebsite.com/somedir/form的页面/html/。

在我们将其启用之前,该服务器作为测试服务器运行,但我们在各处更改了配置。我再也找不到任何指向测试域的东西了。

非常感谢任何和所有帮助!

编辑:有人告诉我,我在原始帖子中没有 document() 函数,对此感到抱歉。稍后在 XSL 中调用它:

<xsl:copy-of select="document($form)"/>

为了测试它,我调用了 $form 变量的 value-of:

<xsl:value-of select="$form" />

输出是我所期望的,它显示了正确通向 www 服务器的路径。但实际显示的 HTML 文件是来自 wwwtest 子域服务器的文件。

4

1 回答 1

0

好吧,所有人都可以肯定地说,问题不在于您向我们展示的那段代码。某处的东西正在拦截请求并重定向它。跟踪问题将是一个逐步消除的过程——我要做的第一件事是尝试在不涉及任何 XSLT 代码的情况下重现问题:当您在浏览器中或从 curl 中使用相同的 URI 时会发生什么?

于 2012-07-11T07:55:42.300 回答