0

XML document() 呼び出しで非常に奇妙な問題が発生しています。

私のコードは非常に単純ですが、結果は非常に奇妙です。特定のファイルへのパスを記述する一連の変数を作成しました。次に、document($varname) を使用してファイルを取り込みました。動作しますが、必要なサブドメインではなく、サブドメインの 1 つからファイルを取り込みます。

コードは次のとおりです。

<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 コードを使用せずに問題を再現することです。ブラウザーで同じ URI を使用したり、curl から使用したりするとどうなりますか?

于 2012-07-11T07:55:42.300 に答える