ECMメッセージのリンクで発生したPage Not Foundエラーのトラブルシューティング


概要

Sitecore E-mail Campaign Managerモジュールから送信された電子メールの受信者が、配信された電子メールのメッセージに含まれているリンクをクリックした際に、Page Not Foundエラー ページが表示される場合があります。

このような問題は、複数の原因で引き起こされる可能性がありますので、考えられる解決策およびシナリオを以下のセクションで確認してください。

シナリオ1

事象:

以下のようなURLでPage Not Foundエラー ページとなる:

http://<hostname>/sitecore/RedirectUrlPage.aspx?link=<external url>&sc_camp=<campaign ID>&ec_as=<automation state ID>

原因

このリンクは、E-mail Campaign Manager 1.3.2 rev. 120424またはそれ以前のバージョンで生成されたものです。

このようなリンクは 、(生成後に)E-mail Campaign Managerモジュールをバージョン1.3.3 rev.121017に更新した場合、Page Not Foundエラーを引き起こします。

詳細については、E-mail Campaign Managerバージョン1.3.3 rev 121017のリリース ノートの「Important Changes(重要な変更)」セクションを参照してください:
https://sdn.sitecore.net/Products/ECM/ECM%201,-d-,3/Release%20Notes.aspx

シナリオ2

事象:

以下のようなURLでPage Not Foundエラー ページとなる:

http://<hostname>/sitecore/service/notfound.aspx?item=<database name>:<itemID>@<language>

原因:

電子メール配信前に、電子メールのメッセージでリンクされたID<itemID>を持つコンテンツ アイテムがパブリッシュされていないため。

解決策

電子メールを配信する前に、電子メールのメッセージで参照されたすべてのコンテンツ アイテムのパブリッシュを実施します。

複数インスタンスのSitecoreのインスタンスでは、配信する前に、現在のMessageアイテムをパブリッシュする必要があります。

詳細については、以下の記事を参照してください:
KB0173546

シナリオ3

事象:

以下のようなURLでPage Not Foundエラー ページとなる:

http://<hostname>/sitecore/RedirectUrlPage.aspx?ec_url=<url>&ec_camp=<campaign ID>&ec_as=<automation state ID>

原因:

a) /sitecore/RedirectUrlPage.aspxページが存在しないため(削除または移動された)。 

b) 該当のSitecoreサイト定義の「physicalFolder」属性の値が、デフォルトのものと一致しないため:

<site name="website" hostName=<hostname> physicalFolder="/CustomValue" …. />

解決策:

a) RedirectUrlPage.aspxページが環境の/sitecoreフォルダ配下に存在することを確認します。

b) 該当のSitecoreサイト定義の「physicalFolder」属性が「/」に設定されていることを確認します。

シナリオ4

事象: 

この問題は、複数インスタンスのSitecore環境にて、電子メールの配信および処理するインスタンスのホスト名が異なる場合に発生します。

原因:

コンテンツ マネージメント サーバのLinkManagerの「alwaysIncludeServerUrl」プロパティが「true」に設定されているため。

<linkManager defaultProvider="sitecore">
    <providers>
        <clear />
        <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" 
          addAspxExtension="true" alwaysIncludeServerUrl="true" encodeNames="true" ... />
    </providers>
</linkManager>

解決策:

コンテンツ マネージメント サーバで「alwaysIncludeServerUrl」プロパティを「false」に設定します。

シナリオ5

原因:

電子メールを開封したものの、リンクをクリックする前に、IISが再起動される。

解決策:

この問題は、ECMバージョン1.3.3 rev. 130212で修正されました。詳細については、リリース ノートに参照番号377454を検索してください:
https://sdn.sitecore.net/Products/ECM/ECM%201,-d-,3/Release%20Notes/Release%20History.aspx

問題を解決するには、ECMバージョン1.3.3 rev. 130212以降にアップグレードしてください:
https://sdn.sitecore.net/Products/ECM/ECM%201,-d-,3/Module_Upgrades/133_121017_to_133_130212.aspx

シナリオ6

事象:

テスト メッセージからのリンクが開けない。

原因:

リンクが、アクティブなSitecoreセッションが実行されていないブラウザで開かれているため。

解決策:

リンクを開いた同じブラウザ セッションで、Administrator、ECMユーザのメンバーまたはECM Advanced UsersロールとしてSitecore クライアントにログインしてください。これは、セキュリティのために設計された動作です。

シナリオ7

事象: 

リンクから、Not Foundエラーではなく、「403 Forbidden: Access is denied」エラー ページに移動される。

原因:

匿名ユーザは、/sitecore/RedirectUrlPage.aspxページにアクセスすることができないため。

解決策:

当該のIISサイト(IIS認証の設定)の/sitecoreフォルダへの「Anonymous」アクセスを許可してください。