Hello, all,
I created a processwire site and I have a problem: I get a 500 internal server error, instead of a 404, when visiting a non-existant URL
If I visit a non-existant URL when logged in as admin, I get this error:
Error: Exception: Operator '&' is not supported for 'status'. (in /home/user/example.com/wire/core/PageFinder.php line 2211)
#0 /home/user/example.com/wire/core/PageFinder.php(1212): ProcessWire\PageFinder->getQueryNativeField(Object(ProcessWire\DatabaseQuerySelect), Object(ProcessWire\SelectorBitwiseAnd), Array, Array, Object(ProcessWire\Selectors))
#1 /home/user/example.com/wire/core/Wire.php(386): ProcessWire\PageFinder->___getQuery(Object(ProcessWire\Selectors), Array)
#2 /home/user/example.com/wire/core/WireHooks.php(813): ProcessWire\Wire->_callMethod('___getQuery', Array)
#3 /home/user/example.com/wire/core/Wire.php(442): ProcessWire\WireHooks->runHooks(Object(ProcessWire\PageFinder), 'getQuery', Array)
#4 /home/user/example.com/wire/core/PageFinder.php(410): ProcessWire\Wire->__call('getQuery', Array)
#5 /home/user/example.com/wire/core/Wire.php(386): ProcessWire\PageFinder->___find(Object(ProcessWire\Selectors
In attempts to solve the problem, I tried the following:
created a `404.html` in the web root and edited `.htaccess` to `ErrorDocument 404 /404.html` as suggested here. It works great with requests like `https://example.com/lll ooo`, but, as explained in the article, it doesn't (and shouldn't) work with `https://example.com/lllooo`. Still 500 error.
Created a `404.php` in `/site/templates/` and used it as a template for the 404 Page. I can view `example.com/404http` (the exact page URL), but with an actual non-existant page, still 500 error.
Added `$config->http404PageID = 27;` in `site/config.php` (though the line already exists in `wire/config.php`, still no luck.
Due to the `&` symbol in the error message when logged in, I cannot correctly google the error.
For reference, I use ProcessWire 3.0.143, PHP 7.3, MySQL 5.7.
Any insight? I don't know how to even start to troubleshoot this, any sort of hint is appreciated.