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

Я использую 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 означает перенаправление неверных запросов?

Ответы [ 2 ]

4 голосов
/ 04 октября 2011

Использовать onMissingTemplate ()

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

    <cflocation url="http://www.MyDomain.cfom/">
</cffunction>
4 голосов
/ 04 октября 2011

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>
...