| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
toto2525 WRInaute occasionnel

Inscrit le: 20 Sep 2007 Messages: 120
|
Posté le : Mar Déc 04, 2007 16:08 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
Bonjour,
Peut-on rediriger un visiteur vers un autre site web (une autre url) avec un htaccess avec « AuthName "Acces Restreint" » ?
J'ai un site web qui me sert de test, je voudrais mettre en place un htaccess qui me permettrait d'entrer sur ce site avec un login et un mot de passe afin que je puisse être le seul à accéder à mon site, les autres qui taperaient un mauvais login ou mot de passe seront redirigés vers mon autre site web (donc url différente de celle ou il y a le htaccess), comment faire cela, voici mon htaccess :
La redirection vers « mon-site-2.com » ne marche pas avec ce htaccess, on reste sur la vilaine page "error 401" si l'on entre un mauvais login ou mot de passe !
Merci pour votre aide. |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Mar Déc 04, 2007 17:27 Sujet du message: Re: Redirection dans htaccess avec accès restreint |
|
|
| toto2525 a écrit: |
Peut-on rediriger un visiteur vers un autre site web (une autre url) avec un htaccess avec « AuthName "Acces Restreint" » ?
J'ai un site web qui me sert de test, je voudrais mettre en place un htaccess qui me permettrait d'entrer sur ce site avec un login et un mot de passe afin que je puisse être le seul à accéder à mon site, les autres qui taperaient un mauvais login ou mot de passe seront redirigés vers mon autre site web (donc url différente de celle ou il y a le htaccess), comment faire cela, voici mon htaccess :
La redirection vers « mon-site-2.com » ne marche pas avec ce htaccess, on reste sur la vilaine page "error 401" si l'on entre un mauvais login ou mot de passe ! |
A priori je dirais qu'une "vraie" redirection (i.e. un 301/302 avec un Location: et tout ça) ce n'est pas possible, tout simplement parce que le protocole HTTP ne le permet pas: pour que ton browser te demande ton login/passe, le serveur http envoie un 401 (qui n'est pas affiché, mais provoque l'affichage de la boîte de dialogue). Pareil si tu fais une erreur pour redemander le login/passe.
La page n'est affichée que si finalement tu annules l'authentification dans ton navigateur (et encore, pas dans tous les browsers, de mémoire Safari n'affiche rien et te laisse à la page précédente).
Ce que tu peux faire c'est dans ce cas-là mettre un "faux" redirect au niveau HTML, i.e. soit un meta Refresh, soit un bout de JS pour changer le document.location. Il te faut pour ça utiliser un ErrorDocument "local" à ton site (d'ailleurs la doc d'Apache est claire sur ce sujet, tu ne peux pas utiliser une URL complète pour un ErrorDocument 401).
Jacques. |
|
| |
|
 |
toto2525 WRInaute occasionnel

Inscrit le: 20 Sep 2007 Messages: 120
|
Posté le : Mar Déc 04, 2007 21:57 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
Merci pour ta réponse jcaron.
Peux-tu développer un peu plus ton idée de "faux" redirect au niveau HTML ?
Comment faire pour que les internautes n'accèdent à mon site que s'ils ont entré un bon login/mot de passe ?
D'avance merci. |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Mer Déc 05, 2007 0:40 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
| toto2525 a écrit: |
| Peux-tu développer un peu plus ton idée de "faux" redirect au niveau HTML ? |
Euh... Les classiques
| Code: |
| <META HTTP-EQUIV="Refresh" CONTENT="0;url=http://url.de.destination/"> |
(urg) ou
| Code: |
<SCRIPT TYPE="text/javascript">
<!--
document.location.href='http://url.de.destination/'
-->
</SCRIPT>
|
On peut probablement trouver d'autres méthodes...
| toto2525 a écrit: |
Comment faire pour que les internautes n'accèdent à mon site que s'ils ont entré un bon login/mot de passe ?
|
Pour ça le .htaccess indiqué (moins le Limit qui ne sert à rien, au contraire) suffit... Le problème c'est ce de les envoyer "ailleurs" s'ils ne sont pas authentifiés.
Jacques. |
|
| |
|
 |
toto2525 WRInaute occasionnel

Inscrit le: 20 Sep 2007 Messages: 120
|
Posté le : Mer Déc 05, 2007 12:47 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
Merci jcaron pour ta réponse.
Le problème avec le HTTP-EQUIV="Refresh" ou le "document.location.href='http://url.de.destination/'" c'est que même moi je vais être rédirigé, ce n'est pas ce que je veux faire !
Tu as souligné la difficulté de ce que je souhaite faire :
| Code: |
| Le problème c'est ce de les envoyer "ailleurs" s'ils ne sont pas authentifiés. |
Comment faire cela avec un htaccess "AuthName "Acces Restreint" ? |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 521 Localisation: Paris
|
Posté le : Mer Déc 05, 2007 13:12 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
| toto2525 a écrit: |
| Le problème avec le HTTP-EQUIV="Refresh" ou le "document.location.href='http://url.de.destination/'" c'est que même moi je vais être rédirigé, ce n'est pas ce que je veux faire ! |
Euh, non. Tu mets ça sur la page que tu sers avec le ErrorDocument 401. Normalement cette page n'est visible / interprétée par le navigateur que si tu as annulé l'authentification, donc si n'est pas correctement authentifié. Mais ça ne marche pas avec Safari...
La seule autre solution c'est de passer par une authentification par formulaire & cookie, mais ça veut dire que ça doit être géré par des scripts et pas par Apache directement dans les .htaccess... L'avantage c'est que c'est beaucoup plus souple, tu fais ce que tu veux
Jacques. |
|
| |
|
 |
toto2525 WRInaute occasionnel

Inscrit le: 20 Sep 2007 Messages: 120
|
Posté le : Mer Déc 05, 2007 22:49 Sujet du message: Redirection dans htaccess avec accès restreint |
|
|
Merci Jacques.
J'ai essayé ta solution avec htaccess avec accès restreint + HTTP-EQUIV="Refresh" dans la page du ErrorDocument 401 mais ça ne marche pas, on reste sur la vilaine page erreur 401
Je crois que je vais mettre en place une solution avec des scripts par contre c'est un peu lourd à faire car il faut mettre en place un script qui gère l'accès dans chacun des répertoires de mon site, j'en ai une bonne dizaine ! L'avantage de l'htaccess c'est qu'une fois mis en place à la racine du site il s'occupait de filtrer l'accès sur tout le site.
Je ne vois pas trop comment faire cette accès restreint par le biais de script : une popup javascript qui s'affiche avant l'ouverture de la homepage invitant à entrer un login/mot de passe, ou bien un formulaire html sur la première page avec gestion par cookies ou session php qui filtre les entrées, etc... |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|