Rewrite Rule Apache simple

Résolu/Fermé
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 - 20 mars 2019 à 11:53
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 - 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
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 mars 2019 à 11:57
Bonjour,

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

0
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 7 990
20 mars 2019 à 13:56
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 mars 2019 à 14:17
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
crapoulou Messages postés 28158 Date d'inscription mercredi 28 novembre 2007 Statut Modérateur, Contributeur sécurité Dernière intervention 16 avril 2024 7 990
20 mars 2019 à 15:25
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