Orchard CMS は初めてです。エラーが発生した場合は、管理者への電子メール通知を作成する必要があります。管理者にメールを送信するカスタム モジュールを作成しました。また、エラーページからモジュールへのリダイレクトを設定しました。
NotFound.cshtml
ここに私のカスタムテーマの私のコードがあります
<script type="text/javascript" language="javascript">
function ToError() {
window.location.href = '/FourOFour?LastURL=' +
(window.location.host + window.location.pathname);
}
window.onload = ToError;
</script>
これが私が作成したモジュールのカスタムルートです
new RouteDescriptor {
Priority = 11,
Route = new Route(
"FourOFour",
new RouteValueDictionary {
{"area", "Prenagen.ErrorEmailing"},
{"controller","Utama"},
{"action","Error404"}
},
new RouteValueDictionary(),
new RouteValueDictionary{
{"area", "Prenagen.ErrorEmailing"}
},
new MvcRouteHandler())
}
そのため、見つからないページは にリダイレクトされ/FourOFour
ます。ローカルホストでテストすると、すべて正常に動作します。NotFound
存在しないページを入力すると、次に にリダイレクトされ/FourOFour?LastURL=page
ます。そして、メールが管理者に送信されます。サーバーに公開すると、見つからないことが FourOFour にリダイレクトされますが、ページが見つかりません。どうすればこれを解決できますか? 誰か助けてください。
編集:FourOFour
が見つからず、同じページにリダイレクトし続けるため、無限ループが作成されます。