Rewrite Rule Apache simple

Résolu
crapoulou Messages postés 28002 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -  
crapoulou Messages postés 28002 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

Sur un serveur Apache 2.4, je voudrais faire une Rewrite Rule qui me parait simple, mais qui ne fonctionne pas.
Je me suis un peu perdu dans le tuto Apache.

Le but est hyper simple :
- Si j'interroge la racine du site, je suis redirigé vers la page toto :
http://monsite.fr => http://monsite.fr/toto

J'ai tenté ça mais sans résultat
RewriteCond %{HTTP_HOST} ^.fr$
RewriteRule ^(.*) http://www.mondite.fr/toto [NC]


Auriez-vous une idée ?

Merci d'avance

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Essayes plutôt :
    RedirectMatch ^/$ http://www.mondite.fr/toto 
    

    0
    1. crapoulou Messages postés 28002 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 046
       
      Salut jordane,

      Merci pour le coup de main.

      Malheureusement, ce n'est pas mieux.
      En fait le réel objectif et de faire une redirection HTTP => HTTPS, donc j'ai cette Rewrite Rule :

              RewriteEngine on
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [L,R]


      La redirection fonctionne sauf si j'ai l'URL racine.
      Donc je me suis dit que j'allais rajouter une règle pour rediriger http://monsite.fr vers https://monsite.fr (en plus) par exemple.

      Mais si la solution est de changer la règle de redirection HTTP vers HTTPS, je prends aussi.
      J'ai le même résultat avec la condition :
              RewriteCond %{HTTPS} !on
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Normalement le code à utiliser est :

      RewriteEngine on
      RewriteCond %{HTTPS} !=on
      RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


      Visiblement, sur OVH (si c'est ton hébergeur...) il faut une petite variante

      RewriteEngine on
      RewriteCond %{SERVER_PORT} 80
      RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


      Voici un lien qui pourrait te servir :
      https://www.webrankinfo.com/dossiers/techniques/redirection-http-https
      0
    3. crapoulou Messages postés 28002 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 046
       
      Merci pour l'aide.
      Bon, je vais considérer que c'est résolu.
      => Cela ne fonctionne pas en Firefox 60.* (x86) mais fonctionne en 66.* (x64)
      Les Rewrite Rules Apache sont bonnes.

      Le souci vient du navigateur donc ?
      Oui, mais pas que !

      Le backend (non géré) est en Angular et a apparemment une gestion des URL et sa propre interprétation.
      En effet, j'ai 2 vHost :
      https://vhost1.monsite.fr
      https://vhost2.monsite.fr

      Avec mon FF 60.*, la redirection fonctionne sur l'un et pas sur l'autre alors que la conf Apache du vHost port 80 est strictement identique !

      J'en conclus un souci aussi côté Angular.

      Merci beaucoup pour l'aide !
      0