Netlify has this powerful feature of rewriting, allowing me to create many duplicate pages. But there is a catch.
Netlify has this excellent feature, by adding it to_redirects
The files are placed in the public root directory of the project (public/_redirects
For example in Hugo).
I use it to power some of my websites.
If I have a bunch of pages belowcontent/original
,Methods as below:
/copy/* /original/:splat 200I can call the URL
/copy
and when I access https://mysite.com/copy
I have the content stored inside https://mysite.com/original
, and the URL does not change. It’s not a redirect (despite the _redirects
file name), it’s a rewrite because I used the 200
code at the end. Had I used 301, that would have been a 301 redirect.
Anyway, the problem I stumbled upon is this: there’s no way to automatically add the trailing slash at the end, so if you access /copy
and /copy/
, and you use relative URLs for images and links, without trailing slash URLs will lead to 404 and images will be broken.
I looked for a solution in my static site generator, to see if it could replicate redirects in another way, but in the end my solution was client side.
And very simple.
I added this JavaScript snippet at the bottom of my pages:
<script>
(function() {
if (!location.href.endsWith('/')) {
window.location = location.href + '/'
}
}())
</script>
And the page now if there’s no trailing slash will immediately reload with the slash appended at the end.
The process is so quick it’s almost invisible to the user.
More services tutorials:
- How to start with Firebase Hosting
- A tutorial to host your Static Site on Netlify
- Code Linters and Formatters for Web Developers
- Auto trigger deploys on Netlify
- Glitch, a great Platform for Developers
- Airtable API for Developers
- How to authenticate to any Google API
- Zeit Now Tutorial
- Netlify Lambda Functions Tutorial
- How to use Firebase Firestore as your database
- How I fixed the trailing slash in Netlify rewrites
- How to access query parameters in Netlify functions
- How to use environment variables in Netlify functions
- How to use npm packages in Netlify Functions
- How to create your first VPS on DigitalOcean