Re-directing individual html pages to kirby urls


How would I re-direct a old .html page to my new kirby equivalent. Such as to (not necessarily the same name).

I have about 10-15 .html pages to re-direct to their new page. The names may change.

I figured I could just add them manually to my .htaccess until google picks up the new ones and then I can remove it.

What would be the cod I need to insert in my .htaccess to acomplish this?


You can accomplish this by means of the RewriteRule directive:

RewriteRule "^/page\.html$" "page" [R]

The [R] indicates an external redirection with HTTP status code 302 which means “temporary”. Clients will try to reach out to the old URL next time. Once you are sure with your redirects, you can use

RewriteRule "^/page\.html$" "page" [R=301]

to make them “permanent”.

I wouldn’t remove them later on because you will never know when the last client (with Google being just among one of them) has got the info and update its cache accordingly.

If your naming convention is always OLDNAME.htmlOLDNAME, then you could use

RewriteRule "^/(.+)\.html$" "$1"

but if OLDNAME is a valid Kirby resource, Kirby’s frontend controller already handles this for you.

Thank you very much for this detailed explanation.

Also, you never know whether other sites have links to these old URLs that they never update. So, it’s better to keep the redirects.

Good point.