Kirby 3: Can't edit page content via panel in production

Hi all,

I have a Kirby 2 site thatā€™s been ported to 3 by following the upgrade guide. Everything works fine locally but on the production server I have some weird issues:

  • I can create pages, but if I edit the content and save the page just reverts back to how it was before the edits with no error message.
  • If I try and change the status of a page I get the error message: ā€˜No route found for path: ā€œpages/test/statusā€ and request method: ā€œGETā€ā€™
  • If I try and delete a page Iā€™m returned to the main site view in the panel as if it was successful but the page isnā€™t actually deleted.

I assume that all of these issues are to do with an incorrect setting on the server but without getting any error messages Iā€™m not sure where to start.

Any ideas?

Matt

Have a look at https://getkirby.com/docs/guide/troubleshooting/panel - maybe that helps to solve it?

Same issueā€¦ how did you solved it?

@sendra do you have exactly the same issue, i.e. you can create pages but not edit them?

Yes same issue, migrated from v2 to v3.

Hm, could be a caching issue, or the server not allowing certain requests, like the PATCH request. Hard to tell.

First thing Iā€™d do is test with a fresh Kirby 3 Starterkit. If that doesnā€™t work either, then we can take it from there.

Hi, same issue here with a fresh Kirby 3 install.

No problem to update in local but impossible in production: ā€œā€˜No route found for path: ā€œpages/test/statusā€ and request method: ā€œGETā€ā€

(File permissions are OK + been using Kirby for years for many websites, on different hostings, no issue until this one)

Any idea?

Thank you.

This is the route for the request:

    [
        'pattern' => 'pages/(:any)/status',
        'method'  => 'PATCH',
        'action'  => function (string $id) {
            return $this->page($id)->changeStatus($this->requestBody('status'), $this->requestBody('position'));
        }
    ],

But the request method used is a GET request while the route only accepts a PATCH request. To me that is a strong indication that PATCH requests are not possible on your server?

The same is true for updates, they also use the PATCH method.

Maybe you can try the solution suggested here: After published, can't edit and logout

If not, Iā€™d contact the hosting service.

1 Like

Thank you for the quick reply.

Unfortunately, the .htaccess update did not do the trick.

Iā€™ll contact our provider to find out if PATCH requests are disabled and get back to you (as this thread hasnā€™t provided a clear solution yet).

@texnixe We contacted our provider and as it turns out mod_security did not enable PATCH (for security reason) by default. Enabling it did the trick and everythingā€™s back to normal now (and, yes, still secureā€¦).

Thank you for your quick answer (and affiliate link duly noted :smile:)

Thanks for reporting back, @Dixens.

I donā€™t know if the other two were ever able to solve this, so Iā€™ll leave this open for the moment?

@mnokeefe, @sendra?

1 Like

same problem