[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1946
  • Last Modified:

Custom 404 Error for .cfm files with IIS

I want to have a custom error page (404.cfm) to be loaded when someone types in a bad URL for a coldfusion page.

I am running IIS 5 and Coldfusion 4.5.

I already have IIS set up to display a custom page for .htm for .html files.  When I type in http://www.server.com/notthere.cfm I get a standard 404 error message that reads:

Error Occurred While Processing Request

Error Diagnostic Information

An error has occurred.

HTTP/1.0 404 Object Not Found

Thanks in advance,
Chris
0
cbestal
Asked:
cbestal
  • 3
  • 2
  • 2
  • +1
2 Solutions
 
danrosenthalCommented:
This is a ColdFusion setting. Go to CF Administrator (generally located at "http://www.servername.com/cfide/administrator/index.cfm")

And enter the path to your error page in MISSING TEMPLATE HANDLER under the SETTINGS section.
0
 
anandkpCommented:
yes that shld do it !

just incase u dont have access to CFADMIN.
u can type in the following in ur "application.cfm"

<CFERROR TYPE="Exception" Template="Custom404Error.cfm" MAILTO="Admin@urdomain.com">
0
 
James RodgersWeb Applications DeveloperCommented:
>>This is a ColdFusion setting. Go to CF Administrator (generally located at "http://www.servername.com/cfide/administrator/index.cfm")

>>And enter the path to your error page in MISSING TEMPLATE HANDLER under the SETTINGS section.

Dan,

how does that apply to other sites on the same server, will they all receive the same 404 page or can it be set up for each top level directory?

or would anands solution be better in that scenario?

0
Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

 
cbestalAuthor Commented:
>>just incase u dont have access to CFADMIN.
>>u can type in the following in ur "application.cfm"

>> <CFERROR TYPE="Exception" Template="Custom404Error.cfm" MAILTO="Admin@urdomain.com">

I tried to have my hosting company change the settings in the Admin, but they referred me to documentation on CFERROR.  I have tried using CFERROR to take care of this , like anand wrote above, but it doesnt work.

Here is what I have currently in my application.cfm file:

<cfapplication name="CatalogSecurity" sessionmanagement="Yes" setclientcookies="no" sessiontimeout="#CreateTimeSpan(0,0,50,0)#">
<!--- If an error occurs, display this page---->
<CFERROR type="request" template="error.htm">
<CFERROR type="exception" template="error.cfm">

Any more suggestions on how to get this to work using the CFERROR tag?  I am testing this by entering http:/www.servername.com/notthere.cfm where notthere.cfm does not exist.

Thanks.
0
 
danrosenthalCommented:
> Jester_48 Question: how does that apply to other sites on the same server, will they all receive the same 404 page or can it be set up for each top level directory?

This is a server-wide setting, so yes all sites will call the same error template. Inside the error template you can search for the top level directory and handled the error differently accordingly.


> cbestal comment: I tried to have my hosting company change the settings in the Admin, but they referred me to documentation on CFERROR.  I have tried using CFERROR to take care of this , like anand wrote above, but it doesnt work.

As far as I understand, CFERROR only gets called if there is a ColdFusion error, a missing file does not qualify as a ColdFusion error, so that would be governed by the setting in the CF Administrator I mentioned above. If you do not have access to the server, I don't know of a work-around.

0
 
James RodgersWeb Applications DeveloperCommented:
Dan,
thanks fro the info,
look in the CF section for your points
0
 
anandkpCommented:
Jester :
All the settings on CFADMIN cater to all applications running on ur server. hence to custmise each u'll need to use the tags that allow u to customise each setting thru application.cfm
If u notice - u can set "almost" everything up from application.cfm - just as u can from CFADMIN !

cbestal :
I am not too certain abt <CFERROR type="request" template="error.htm"> ... as ive tried at my place with MX 6.1 & it didnt work either ... i was under the impression that type="request" wld handle the missing page templates !

Can u get hold of settings the settings in IIS [or whatever ur web server is]?
Cos u have a default 404 handler there as well !

If u can change teh path for 404 error in ur web server - it shld help u out [thou keep in mind this wld affect all the sites that are running on that server]

hope that helps !
0
 
James RodgersWeb Applications DeveloperCommented:
>>All the settings on CFADMIN cater to all applications running on ur server. hence to custmise each u'll need to use the tags that allow u to customise each setting thru application.cfm
If u notice - u can set "almost" everything up from application.cfm - just as u can from CFADMIN !

unfortunately the system architecture requirements at my location require that *almost* every page have its own directory, therefore each dir would need to be updated... and its a lot
0
 
cbestalAuthor Commented:
Thanks for the help on this one.  I split the points because this question grew as it went on.  I could not figure out how to get a custom 404 error through <CFERROR> as Dan said, I don't think there is a way.

I used Anands recommendation of setting up IIS to look for .cfm files and then direct to a custom 404 page, and that seems to be working well.

Thanks again,
Chris
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now