FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Redirection en cas de réseau indisponible

Règles du forum : Entraide dédiée à Internet en général : problèmes de navigation, conseils et astuces pour améliorer la navigation, problèmes de débits...
Merci de prendre connaissance de la charte générale du forum.

Répondre

Afin d’empêcher la création automatisée de comptes, nous vous demandons de réussir le défi ci-contre.
Smileys
:D :) :-) ;) :| :( :cry: :cheers: :hourra: :mv: :lol: :mdr: :bonjour: :hello: :jap: :siffle: :bisou: :P :o :x :roll: :good: :bad: :super: :reflexion: :suspect: :? :oops: :peur: :zen: :boude: :bug:

Revue du sujet : Redirection en cas de réseau indisponible Étendre la vue

Redirection en cas de réseau indisponible

par Martgemini » mer. 9 déc. 2020 11:57
Bonjour à tous,

Pour ma société, j'ai mis en place un portail Intranet basé sur Wordpress afin que les utilisateurs puissent retrouver facilement les ressources dont ils ont besoin au quotidien (formulaires PDF, doc utilisateur,...).

Ce portail n'est accessible que depuis une connexion sécurisée au réseau interne de l'entreprise (connexion directe dans les bureaux ou via le VPN). Avec le télétravail, je me retrouve face à un problème de disponibilité de ce portail. En effet, si l'utilisateur n'a pas pensé à connecter son accès VPN, l'adresse du portail ne peut pas être trouvée.

Pour éviter, à mes utilisateurs de se poser trop de question (et accessoirement d'ouvrir des ticket au support informatique), je voudrais automatiser une redirection vers une autre URL lorsque le portail n'est pas disponible.

J'ai essayé de gérer cela en utilisant une page en local avec du javascript pour intercepter le XMLHttpRequest.status mais le retour est toujours 0 (que je sois connecté ou pas).

Quelqu'un aurait-il une idée à me proposer pour résoudre mon problème ? Je suis ouvert à toute proposition (javascript, GPO, ...).

Merci !

Pour info, voici le code que j'utilise en javascript :
Code : Tout sélectionner
<html>
    <head>
      <script type="text/javascript">
         function testLoadIntranet(){
            var xhr = new XMLHttpRequest();
            xhr.open('HEAD', 'https://portail.societe.com', true);

            xhr.onerror = function() {
               console.log('status: ', xhr.status);
               console.log('readyState', xhr.readyState);
               console.log('response', xhr.response);
               console.log('responseText', xhr.responseText);
               console.log('responseURL', xhr.responseURL);
               console.log('responseXML', xhr.responseXML);
               
               alert(this.status);
            }
            
            xhr.onreadystatechange = function() {
               
               console.log('status: ', xhr.status);
               console.log('readyState', xhr.readyState);
               console.log('response', xhr.response);
               console.log('responseText', xhr.responseText);
               console.log('responseURL', xhr.responseURL);
               console.log('responseXML', xhr.responseXML);
               
               alert(this.status);
               
               if (this.status != 200) {
                  if (this.status != 0) {
                     // Requête en erreur, redirection vers Lilo.
                     window.parent.location.href = 'https://search.lilo.org/?externalsource=titanobel';
                  } else window.location.href= 'https://portail.societe.com';
               } else window.location.href= 'https://portail.societe.com';
            }

            console.log('send', xhr.send(null));
         }
      </script>
   </head>
    <body onload="javascript:testLoadIntranet()">
    </body>
 </html>
Présentation

Hello :hello: , Merci pour l'accueil

Bonjour, L’erreur de script peut venir de v[…]

New crash game Plinko

Oh, great. Crash games are a good choice if you wa[…]

Site officiel du casino Vavada

C'est un vieux casino, ce n'est pas du tout int&ea[…]