Advertisement
swte

Nyelv szerinti átirányítás

May 22nd, 2024 (edited)
425
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. addEventListener('fetch', event => {
  2.   event.respondWith(handleRequest(event.request))
  3. })
  4.  
  5. async function handleRequest(request) {
  6.   // Eredeti URL
  7.   const url = new URL(request.url);
  8.  
  9.   // A böngésző által előnyben részesített nyelv
  10.   const preferredLanguage = request.headers.get('Accept-Language')?.split(',')[0].split(';')[0];
  11.  
  12.   // Useragent fejléc lekérdezése
  13.   const userAgent = request.headers.get('User-Agent')?.toLowerCase();
  14.  
  15.   // Ellenőrizzük, hogy a kérés Google vagy Bing bot-tól származik-e
  16.   if (userAgent.includes('googlebot') || userAgent.includes('bingbot')) {
  17.     // Ha bot, nem irányítunk át
  18.     return fetch(request);
  19.   }
  20.  
  21.   // Nyelv alapú átirányítások
  22.   switch (preferredLanguage) {
  23.     case 'de':
  24.       return Response.redirect(`${url.origin}/de/`, 302);
  25.     case 'fr':
  26.       return Response.redirect(`${url.origin}/fr/`, 302);
  27.     case 'en':
  28.       return Response.redirect(`${url.origin}/en/`, 302);
  29.     default:
  30.       // Ha a nyelv magyar, vagy más nem szerepel a listán, nem irányítjuk át
  31.       break;
  32.   }
  33.  
  34.   // Térjünk vissza az eredeti lekéréssel
  35.   return fetch(request);
  36. }
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement