1

Web.config defines redirects for not existing pages.

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="403" subStatusCode="-1" />
  <remove statusCode="404" subStatusCode="-1" />
  <remove statusCode="500" subStatusCode="-1" />
  <error statusCode="403" path="/mywebsite/foutmelding/404.html" responseMode="ExecuteURL" />
  <error statusCode="404" path="/mywebsite/foutmelding/404.html" responseMode="ExecuteURL" />
  <error statusCode="500" path="/mywebsite/foutmelding/404.html" responseMode="ExecuteURL" />
</httpErrors>

We also use cache in web.config

  <sdl.web.delivery>
    <caching defaultHandler="regularCache" enabled="true">
   ...

Situation:
Request from browser for https://mywebsite/pagethatdoesntexist

Page doesn't exist on the server. The first time the 404.html renders and gives the result back. A new request from a browser with other pages that doesn't exist also give the 404.html

When the second time a page is requested above then it gives the ServerError.cshtml (not the 404.html page).

Observations:

When we disable the cache (one or both) then it works as expected (it shows 404.html).

... caching defaultHandler="regularCache" enabled="false" ...

or
 
add key="viewModel-caching" value = "false"

UPDATE 8 apr

Did some tests Sample Core webapp works when page (section) is published as '\error-404'.
Exact that filename. It only work with error-404 in root.

enter image description here

web.config line '/mywebsite/foutmelding/404.html' works only once.
Second time (or press F5) results in ServerError.cshtml.

Question:
We need \myfolder\error-404 location (because myfolder is part of accesserver).
Can we configure location 'myfolder'\error-404 ?

4
  • For me. In the OOTB DXA 2.2 - <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough" /> setting working fine as expected. 404.html page coming from tridion. – Velmurugan Apr 7 at 13:25
  • That option doesnt work. The 2nd request takes page/view ServerError.html from cache. We want bot option true, we need caching. How can we disable page cache for http result 403,404,500 ? – Frits Lesterhuis Apr 8 at 9:07
  • In my case I have enabled caching and tested it works. – Velmurugan Apr 8 at 9:22
  • Did update 8 apr (Checked the sample Core webapp + CMS). – Frits Lesterhuis Apr 8 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.