404 and 500 tell different stories
No route matches the requested address. Check the URL, HTTP method, and src/routes/WebApp.php.
The route was generally found, but code failed. Read the development error and terminal.
The six-question method
- 1Is the server running?
The terminal must still be running aml serve.
- 2Is the address exact?
Compare /about and /About: letter case may matter depending on the system.
- 3Does the route exist?
aml routes
- 4Is the class imported?
Check use App\Controllers\AboutController;
- 5Does the method exist?
The route requests index: the controller must have public function index(...).
- 6Does the view have the right name?
about.php must exactly match view('about.php').
Frequent failures and fixes
Create an intentional failure
In the /about route, temporarily write 'show' instead of 'index'. Reload, read the error, then restore 'index'. This exercise teaches you to recognize a broken route–action connection without guessing.
Internal details must remain hidden from visitors. Detailed screens are for development; logs retain information needed for diagnosis.