2016-07-08 5 views
2

公開パイプラインでSitecoreに問題があります。パブリッシュパイプライン中に実行され、別のシステムにデータを書き込むロジックがあります。新しいシステムに送られるデータ属性の1つは、コンテンツおよびメディア項目のURLです。Sitecore IPを使用したアイテムとメディアURL

アイテムのURLはhttp://www.example.com/section/abcですが、メディアアイテムのURLはhttp://123.456.789.012/~/media/media.ashxとなっています。これは適切なURLが通過する私たちのステージングと開発環境でうまく動作します。しかし、プロダクションでは、IPはメディアアイテムのために発送されています。ステージングとプロダクションのコンフィグレーションに明白な違いはありません。

何が起こっているのでしょうか?どんな助けもありがとうございます。

+0

LinkManagerとmediamanagerの設定https://briancaos.wordpress.com/2012/08/24/sitecore-links-with-linkmanager-and-mediamanager/とこの[リンク](https:///sitecorejohn.wordpress.com/2008/11/23/manipulating-sitecore-links/) – Aarati

答えて

5

"Media.MediaLinkServerUrl"の設定値を確認してください。デフォルトでは

それは空です:私が覚えているから

<setting name="Media.MediaLinkServerUrl" value="" /> 

、場合:値は

  • 使用されている
  • AlwaysIncludeServerUrlオプションを設定して、何らHttpContext.Currentありませんされていない

    1. "Media.MediaLinkServerUrl" (あなたがパイプラインを公開しているときに当てはまる)

    1. 2.と3.が真である場合、Sitecoreは、アプリケーションプールがリサイクルされた後にサイトがヒットした最初のホスト名またはIPアドレスを持つメディアアイテムへのリンクを生成します。

    プロダクションサーバを再起動してローカルIPアドレスを入力してロードバランサ(またはIPアドレスを使用してサーバを呼び出すLB)に戻す前に起動していることを確認すると、 Sitecoreは、いいホスト名の代わりにそのIPアドレスですべてのメディアアイテムURLを生成します。

    私はそれが開発者とステージング環境の両方で動作すると仮定します。なぜなら、最終ホスト名でそれらを常にヒットさせるからです。

  • +0

    これは多くの意味があります。しかし、一つのことはまだ明確ではありません。私たちはLBの背後にあるすべての環境でCMを持っています。だから、なぜこの問題を引き起こすのは生産だけなのか。 とにかく、MediaLinkServerUrlをコードに指定して、違いがあるかどうかを確認しました。 – Gabbar

    +0

    その設定はプロダクションで機能しました。しかし、web.configの設定を変更することはありません。この設定は、メディアURLオプションの一部として変更されます。 – Gabbar

    関連する問題