2013-07-04 4 views
0

Можно ли отображать другую страницу, если запрашиваемая страница не существует, используя обработчик событий OnRequestStart?application.cfc и обработка/распространение страницы

function onRequestStart(string targetPage) { 
    // handle another page 
} 

if(FileExists(cgi.script_name)){ 
    include cgi.script_name; 
}else{ 
    // render another page 
} 

, если я использую включать непосредственно вместо того, чтобы передать его через onRequestStart, я получаю ошибку об отсутствии SESSION

Если я не прервать выполнение, я получаю ошибку File not found. Есть ли способ пропустить попытку найти файл и использовать событие onRequestStart для отображения другой страницы?

ответ

4

Если вы пытаетесь предотвратить 404 страницы ColdFusion (например /index2.cfm), где шаблон CFM не существует вы можете использовать onMissingTemplate() в приложении. CFC

Если шаблон, который вызывает 404 не то, что обрабатывается CF (т.е. .htm, .html), то вы должны будете поймать его в веб-сервер, используя страницу 404 или, возможно, URL-адрес rewite

-1

Попробуйте InstEd

OnError() 

этих костры, если исключение брошено и не захватывается контрольным кодом.

Проверить эту статью Ben Nadel on application.cfc

+0

OnError() обрабатывает ошибки ColdFusion. Не найденная страница не является ошибкой ColdFusion, поэтому я не думаю, что onError() поможет. –

+0

Как сказал Дэн. Не правильный ответ. –

+0

Хорошо, я согласен с вами. Первая мысль заключалась в том, что я мог бы что-то сделать, чтобы мгновенно решить проблему, но подход неправильный. 404 не обрабатывается onError – Nesha8x8

 Смежные вопросы

  • Нет связанных вопросов^_^