Your homepage is working great, but subpages won't open or lead to a server error?
- Make sure that the
.htaccessfile that ships with Kirby is present in your Kirby folder.
- Check if
mod_rewriteis enabled on your server (Apache).
- Check if the
.htaccessfile gets loaded. You can test this by putting some nonsense characters into your
.htaccess. If this triggers an "Internal Server Error", the file gets loaded. Otherwise, you need to enable
AllowOverride allin your Apache configuration.
- Please try setting the
If you run Kirby in a subfolder, make sure to set the RewriteBase according to the name of your subfolder:
By default, Kirby detects the base URL of the site automatically using the
SERVER_NAME environment variable that is passed to PHP by your web server. If this variable is set incorrectly, Kirby will also generate incorrect URLs. If it is not set at all, Kirby will fall back to the server's IP address.
The best fix for this issue is to update the configuration of your web server and set a correct
If you don't have access to this configuration, you can manually set the correct base URL with Kirby's
If you use PHP's built-in server (not recommended), you have to start it up with Kirby's router:
If you get an error like this:
you are most likely using a library or framework together with Kirby that is unfortunately not supported. We are aware of the following libraries being incompatible with Kirby:
- Symfony VarDumper (redeclares the
- Swoole Framework (redeclares the
Because two libraries cannot define the same functions, you can unfortunately not use any of these libraries/frameworks together with Kirby.
If you didn't install any other library/framework on purpose, please verify if they come with one of the plugins you are using or if they are provided by your hosting provider. In any case Kirby will only work if the conflicting libraries are disabled/uninstalled.
We may be able to fix this issue in the future by namespacing the helper functions that ship with Kirby, but this is unfortunately something that cannot be implemented in a backwards-compatible way. Sorry for the inconvenience!
Please make sure that you use the required PHP version.
Check if you have set the correct timezone in your
php.ini file with the
date.timezone option. If you don't have access to the
php.ini file, check if your hosting provider allows changing this in their web interface, otherwise contact your hosting provider.
Check your file and folder permissions. Files should be 644, folders 755.
Your content files seem to be corrupted after you tried to save a page in the Panel? Make sure the PHP
mb_string extension is installed on your server. A missing extension leads to broken data in text files.
Make sure that the PHP
mb_string extension is installed/enabled.