كيف أصلحت الشرطة المائلة اللاحقة في إعادة كتابة Netlify

Netlify لديه هذه الميزة الرائعة ، إعادة الكتابة ، التي تسمح لي بإنشاء عدد من الصفحات المكررة. لكن هناك مشكلة.

يحتوي Netlify على هذه الميزة الرائعة التي تتيح لي إنشاء عدد من الصفحات المكررة ، عن طريق إضافتها إلى ملف_redirectsملف في الجذر العام للمشروع (public/_redirectsفي هوغو ، على سبيل المثال).

أستخدمه لتشغيل بعض مواقع الويب الخاصة بي.

إذا كان لدي مجموعة من الصفحات تحتcontent/original، عن طريق الكتابة:

/copy/* /original/:splat  200

I 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: