fisharebest / webtrees

Online genealogy
https://webtrees.net
GNU General Public License v3.0
491 stars 302 forks source link

2.1.20 untraped 404 error when viewing a repro #4998

Closed FrankWarius closed 5 months ago

FrankWarius commented 5 months ago

I recently created a new "empty" repository and successfully linked it to 2 sources. This was done without any problems.

0 [@X3041@] (https://wbt.warius.info/tree/Warius/repository/X3041/Evangelische-Kirche-der-Pfalz-Protestantische-Landeskirche) REPO 1 NAME Evangelische Kirche der Pfalz (Protestantische Landeskirche) 1 CHAN 2 DATE 09 JUN 2024 3 TIME 08:19:37 2 _WT_USER xxx

If it is called e.g. from a source or from the repro list there is an untraped 404 browser error

Server Error: 404 - File or directory not found. The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

https://wbt.warius.info/tree/Warius/source/X1629/Bad-Bergzabern-BA-Bergzabern-evangelische-Kirche-Evangelische-Kirche-der-Pfalz-Primarquelle

The change log of the tree only shows the creation of the report, no further changes. PHPError.log contains no entries.

The following changes were made to the environment between creating and calling the repro

MariaDB: 11.3 > 11.5.1 PHP: possibly 8.3.7 > 8.3.8

FrankWarius commented 5 months ago

To create the repro I used the popup dialogue when assigning a repro to a source, the repro view is not called and therefore the error cannot occur at creation.

fisharebest commented 5 months ago

1) Are you able to repeat this? I tried to reproduce it on my local machine without success.

Is there only one repository on your site with this issue - or are there others?

2) On your site, I see a "webserver" 404 page. I would expect a "webtrees" 404 page, with the message "This repository does not exist or you do not have permission to view it."

fisharebest commented 5 months ago

If I visit https://wbt.warius.info/tree/Warius/repository/X3080, I am redirected to https://wbt.warius.info/tree/Warius/repository/X3080/Evangelische-Kirche-der-Pfalz-Protestantische-Landeskirche

So, webtrees must be able to find the record. But the redirected page gives a "webserver 404".

But if I visit a non-existing repository, such as https://wbt.warius.info/tree/Warius/repository/fisharebest, I see the expected "webtrees 404".

FrankWarius commented 5 months ago
  1. reproduce on Prod
    • I found no other repro with this error
    • I added 3 versions of like "Evangelische Kirche der Pfalz (Protestantische Landeskirche) III" always webserver error 404
    • I added repro "Evangelische Kirche der Pfalz", no error
    • then I changed it to "Evangelische Kirche der Pfalz (Protestantische Landeskirche)", with webserver error 404
  2. Before I had not webserver errors but always webtrees trapped errors
  3. I can't reproduce it on my local XDEBUG test environment (neither MariaDB 1.4 nor 1.5) but I don't use here pretty URL

I will start further tests (with XDEBUG in Prod)

FrankWarius commented 5 months ago

it must be due to the closing bracket.

fisharebest commented 5 months ago

Still works for me with the ).

Can I ask you to temporarily disable pretty URLs in data/config.ini.php. Does this make a difference?

FrankWarius commented 5 months ago

it seems to be an IIS rewrite problem. the link https://wbt.warius.info/tree/Warius/repository/X3082/123456789A123456789B123456789C123456789D123456789E12345678-Protestantische-Landeskirche leads directly to the webserver error. XDdebug is not involved. I will analyse the IIS trace.

Extended Error Report

HTTP-Fehler 404.0 - Not Found

Die gesuchte Ressource wurde entfernt oder umbenannt, oder sie steht vorübergehend nicht zur Verfügung.

Wahrscheinlichste Ursachen:

  • Das angegebene Verzeichnis oder die angegebene Datei ist auf diesem Webserver nicht vorhanden.
  • Die URL enthält einen Schreibfehler.
  • Der Zugriff auf die Datei wird von einem benutzerdefinierten Filter oder Modul wie URLScan eingeschränkt.

Mögliche Vorgehensweise:

  • Erstellen Sie den Inhalt auf dem Webserver.
  • Überprüfen Sie die Browser-URL.
  • Erstellen Sie eine Ablaufverfolgungsregel für Anforderungsfehler für diesen HTTP-Statuscode, und überprüfen Sie, welches Modul "SetStatus" aufruft. Weitere Informationen zum Erstellen von Überwachungsregeln für Anforderungsfehler finden Sie hier.

Detaillierte Fehlerinformationen:

Modul | IIS Web Core -- | -- MapRequestHandler php-Prod 0x80070002

Weitere Informationen:

Dieser Fehler weist darauf hin, dass die Datei oder das Verzeichnis auf dem Server nicht vorhanden sind. Erstellen Sie die Datei oder das Verzeichnis, und führen Sie die Anforderung erneut aus.

Weitere Informationen anzeigen »

HTTP-Fehler 404.0 - Not Found Die gesuchte Ressource wurde entfernt oder umbenannt, oder sie steht vorübergehend nicht zur Verfügung. Wahrscheinlichste Ursachen: Das angegebene Verzeichnis oder die angegebene Datei ist auf diesem Webserver nicht vorhanden. Die URL enthält einen Schreibfehler. Der Zugriff auf die Datei wird von einem benutzerdefinierten Filter oder Modul wie URLScan eingeschränkt. Mögliche Vorgehensweise: Erstellen Sie den Inhalt auf dem Webserver. Überprüfen Sie die Browser-URL. Erstellen Sie eine Ablaufverfolgungsregel für Anforderungsfehler für diesen HTTP-Statuscode, und überprüfen Sie, welches Modul "SetStatus" aufruft. Weitere Informationen zum Erstellen von Überwachungsregeln für Anforderungsfehler finden Sie [hier](http://go.microsoft.com/fwlink/?LinkID=66439). Detaillierte Fehlerinformationen: Modul IIS Web Core Benachrichtigung MapRequestHandler Handler php-Prod Fehlercode 0x80070002 Angeforderte URL https://wbt.warius.info:443/urlrewrite.php Physischer Pfad D:\web\WT21Git\webtrees\urlrewrite.php Anmeldemethode Anonym Benutzeranmeldung Anonym Verzeichnis für Ablaufverfolgung D:\Logs\IISFaild Weitere Informationen: Dieser Fehler weist darauf hin, dass die Datei oder das Verzeichnis auf dem Server nicht vorhanden sind. Erstellen Sie die Datei oder das Verzeichnis, und führen Sie die Anforderung erneut aus. [Weitere Informationen anzeigen »](https://go.microsoft.com/fwlink/?LinkID=62293&IIS70Error=404,0,0x80070002,20348)
FrankWarius commented 5 months ago

it was an erroneously activated test rule in IIS URL Rewirte that checked for ".test." and thus reacted to Pro<test>antische Landeskirche. The Module urlrewrite.php was delete long time ago Sorry for the inconvenience