Htaccess rewrite issue after migration online

Hi there,

I’m trying to migrate a local kirby 3 website online →
After updating php (8) I can see the home page but all subpages and links are broken.
Wich explains the dead links.

I didn’t touch the htaccess file yet. Should I ?
Here’s what it looks like :

# Kirby .htaccess

# rewrite rules
<IfModule mod_rewrite.c>

# enable awesome urls. i.e.:
RewriteEngine off

# make sure to set the RewriteBase correctly
# if you are running the site in a subfolder.
# Otherwise links or the entire site will break.
# If your homepage is
# Set the RewriteBase to:
# RewriteBase /mysite

# In some environments it's necessary to
# set the RewriteBase to:
# RewriteBase /

# block files and folders beginning with a dot, such as .git
# except for the .well-known folder, which is used for Let's Encrypt and security.txt
RewriteRule (^|/)\.(?!well-known\/) index.php [L]

# block text files in the content folder from being accessed directly
RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L]

# block all files in the site folder from being accessed directly
# except for requests to plugin assets files
# RewriteRule ^site/(.*) index.php [L]

# Enable authentication header
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

# block direct access to kirby and the panel sources
RewriteRule ^kirby/(.*) index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]


# compress text file responses
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Any idea ?
Thanks :slight_smile:

  • Is your webserver an Apache server?
  • Uncomment RewriteBase in .htaccess, if that doesn’t help
  • Check if the .htaccess file is even read (put some garbage in, should then give you error 500)
  • If you get an error with this check, then as a next step check if rewriting is enabled (should usually be the case)
  • If not, enable it or contact your hosting provider

Hello, thanks for your answer :slight_smile:
I uncommented RewriteBase and put RewriteEngine to on.
And it’s all good !