Bug #82036
closedMissing use of pageNotFound_handling in TypoScriptFrontendController.php, only PageNotFoundException is used.
0%
Description
Use of pageNotFound_handling is not implemented for cases:
"Mount point" page mounting nonaccessible page (line 1622) and
"Shorcut" page redirecting to nonaccessible page (lines 1708, 1716, 1723) - TYPO3 7.6.21
For this cases, TYPO3 allways run PageNotFoundException and when pageNotFound_handling is set, then site visitors could see 2 kinds of error pages: configured one and TYPO3's default error page. I think it is a bug.
Files
Updated by Riccardo De Contardi about 6 years ago
I performed a little test with 8.7 and I think that this error is still present.
my test:
1) Install tool > [FE][pageNotFound_handling] > set a static (existing) page:
[FE][pageNotFound_handling] = http://typo3.8.test.it/fileadmin/error.html
2) On frontend, if you try to access a non existent page (e.g. http://typo3.8.test.it/index.php?id=234111
, you will see the error.html file
3) create a page (e.g. with id=48) and hide it
4) create a page e.g. with id=49 > make it visible, make it of . type=shortcut and point the shortcut to the page created at point 3
5) On frontend, if you try to access it: http://typo3.8.test.it/index.php?id=49
you will see the standard TYPO3 error page:
Page Not Found (404) This page (ID 49) is of type "Shortcut" and configured to redirect to a subpage. However, this page has no accessible subpages. More information regarding this error might be available online.
Updated by Riccardo De Contardi about 6 years ago
- Related to Bug #80813: incorrect pageNotFound_handling behaviour added
Updated by Benni Mack over 5 years ago
- Status changed from New to Needs Feedback
Hey all,
IMHO this is fixed with TYPO3 v9 and site handling. Can somebody verify if TYPO3 v9 solves this issue?
Thanks.
Benni.
Updated by Riccardo De Contardi over 5 years ago
@Benni Mack, I tried the following test with the latest master:
1) create a very basic 404.html file inside /fileadmin/:
<!DOCTYPE html> <html> <head> <title>404 page</title> <style type="text/css"> body{ background: #d00; color:#fff; } </style> </head> <body> <h1>This is a static 404 Page!!!</h1> </body> </html>
2) Site configuration > create a configuration for error handling
- errorCode: 404
- errorHandler: fluidtemplate
- errorFluidTemplate: fileadmin/404.html
the relevant part in the yaml file so it is:
errorHandling: - errorCode: '404' errorHandler: Fluid errorFluidTemplate: fileadmin/404.html errorFluidTemplatesRootPath: '' errorFluidLayoutsRootPath: '' errorFluidPartialsRootPath: ''
3) Try to access a non existent page: https://mysite.com/non-esistent-page
Results: the 404.html page is shown (OK)¶
4) create a page (e.g. with id=60) and hide it
5) create a page e.g. with id=61 > make it visible, make it of type=shortcut and point the shortcut to the page created at point 4
Results: On frontend, if you try to access it: https://mysite.com/page-that-points-to-hidden-page you will see the following TYPO3 error page:¶
Page Not Found Reason: ID was not an accessible page
Updated by Benni Mack over 5 years ago
hey Riccardo,
this case is handled by "403" (access denied), can you check if this works?
errorHandling: - errorCode: '403' errorHandler: Fluid errorFluidTemplate: fileadmin/404.html errorFluidTemplatesRootPath: '' errorFluidLayoutsRootPath: '' errorFluidPartialsRootPath: ''
Updated by Riccardo De Contardi over 5 years ago
@Benni Mack, I performed a more detailed test on 9.5.5
Test setup¶
1) Create a page (Uid=51) called "404 error page
"
2) Create a page (Uid=52) called "403 error page
"
3) Create a file fileadmin/404.html
4) Create a file fileadmin/403.html
5) Create a page "hidden page
" (hidden)
6) Create a page "red to hidden page
" (shortcut to the page created at point 5, visible)
The following Url will be tested¶
the test is done with a separate browser window (in incognito mode)
a) call a non-existent page https://test.it/silly-page
b) call the hidden page https://test.it/hidden-page
c) call the page that redirects to the hidden page https://red-to-hidden-page
Test conditions¶
On Site Configuration > Error Handling, I created both configurations for 404 error and 403 error
a) First, I set both as "Show content from page
" pointing to the pages created at point 1 and 2
b) Then I set both as "Fluid Template
" pointing to the files created at point 3 and 4
Test results¶
Site config: Show content from page | Site Config: Fluid Template | Status code | |
---|---|---|---|
call non-existent page https://test.it/silly-page | 404 error page (Uid=51) shown | 404.html shown | 404 The requested page does not exist |
call hidden page https://test.it/hidden-page | 403 error page (Uid=52) shown | 403.html shown | 403 ID was not an accessible page |
call the page that redirects to the hidden page https://red-to-hidden-page | 403 error page (Uid=52) shown | 403.html shown | 403 ID was not an accessible page |
Side note¶
I also experimented the following behavior: if you preview the urls in the same browser where you're logged in TYPO3 CMS
- if you call https://test.it/hidden-page, then you will se a preview of the page (with the "Preview" box)
- if you call https://red-to-hidden-page you get the 403 error page / error html file
Updated by Susanne Moog over 4 years ago
- Related to Bug #86346: Hidden pages sent 403 Header added
Updated by Susanne Moog over 4 years ago
- Status changed from Needs Feedback to Closed