Какой самый эффективный способ перенаправить пользователя на домашнюю страницу, если запрашиваемая страница не существует?

#coldfusion #coldfusion-9 #application.cfc

#coldfusion #coldfusion-9 #application.cfc

Вопрос:

Я использую ColdFusion 9.1.

Я перестраиваю сайт с нуля и указываю на него существующее доменное имя. Сайт по-прежнему получает несколько посещений каждый день, и я хочу воспользоваться этим. Я хочу перенаправить эти запросы страниц на домашнюю страницу, а не на ошибку, которая в данный момент обслуживается.

Я ищу ТОЛЬКО решение ColdFusion для перемещения неверного запроса на домашнюю страницу. Итак, если они запрашивают domain.com/BadPage.cfm ?QString=XYZ, они будут перемещены на domain.com /.

Я попытался использовать следующий метод в Application.cfc, но я не смог приступить к работе, как описано. Казалось, это не имело никакого эффекта.

 <cffunction name="OnError" access="public" returntype="void" output="true">
<cfargument name="Exception" type="any" required="true" /">
<cfargument name="EventName" type="string" required="false" default="" />
<cfif Exception>
    <cflocation url="http://www.MyDomain.cfom/">
</cfif>
<!--- Return out. ---> 
<cfreturn />
</cffunction>
  

Короче говоря, какое самое простое средство ColdFusion для перенаправления ошибочных запросов?

Ответ №1:

onError не будет перехватывать отсутствующие шаблоны. Добавьте обработчик onMissingTemplate в Application.cfc:

 <cffunction name="onMissingTemplate" returntype="Boolean" output="false">
    <cfargument name="templateName" required="true" type="String" />

    <!--- Put your home page file name here --->
    <cflocation url="/index.cfm" />

    <cfreturn true />
</cffunction>
  

Ответ №2:

Используйте onMissingTemplate()

 <cffunction name="onMissingTemplate">
   <cfargument type="string" name="targetPage" required=true/>

    <cflocation url="http://www.MyDomain.cfom/">
</cffunction>
  

Комментарии:

1. Я знал, что это должно быть так просто. Спасибо!