tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Force.comサイトで不正なURL入力時に画面遷移する方法

Force.comサイトでは不正なURL入力時のエラー画面をエラーページ設定で指定することができます。

f:id:tyoshikawa1106:20160207173018p:plain


例えばこんな感じです。
f:id:tyoshikawa1106:20160207173143p:plain


エラーページではなく、TOPページなど特定のURLへ画面遷移させたい場合もあると思います。その場合は、pageタグでactionを宣言して移動したいURLを指定することで対応できます。

<apex:page showHeader="false" action="https://www.salesforce.com/jp/">
</apex:page>

f:id:tyoshikawa1106:20160207173756p:plain



上記のように宣言後、存在しないURLを指定すると
f:id:tyoshikawa1106:20160207173937p:plain


actionで指定したURLのページに移動させることができます。
f:id:tyoshikawa1106:20160207174009p:plain


Force.comサイトで不正なURLへの対応はこのように行うことができます。

追記

カスタム表示ラベルなどURLを変数指定する場合、actionにそのまま指定するとエラーになります。
f:id:tyoshikawa1106:20160208102500p:plain


次のようにURLFOR関数を利用することで解決できます。

<apex:page showHeader="false" action="{!URLFOR($Label.SitesTopPageUrl)}">
</apex:page>