Menu

Rewrite Rule Apache simple [Résolu]

Messages postés
28245
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
28 mai 2019
- - Dernière réponse : crapoulou
Messages postés
28245
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
28 mai 2019
- 20 mars 2019 à 15:25
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
Afficher la suite 

1 réponse

Messages postés
25760
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2019
1658
0
Merci
Bonjour,

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

crapoulou
Messages postés
28245
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
28 mai 2019
2678 -
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
jordane45
Messages postés
25760
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juin 2019
1658 -
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
crapoulou
Messages postés
28245
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
28 mai 2019
2678 -
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 !
Commenter la réponse de jordane45