|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2009 Messages : 21 ![]() |
Bonjour,
J'essaie de monter une architecture qui imite le comportement d'un portail captif sans l'authentification. Je vous explique: dans un environnement public, je souhaite mettre en place un Wireless LAN sans accès à internet. Quand des clients de type smartphone se connectent au Wifi, ils sont automatiquement redirigés vers la page d'accueil du site web local (hébergé sur un serveur du LAN), quelque soit l'adresse saisie dans son navigateur. Pour cela, dans la première étape, j'ai mis en place sur mon serveur DNS du spoofing DNS pour qu'il réponde à n'importe quelle requête DNS l'IP de mon serveur local (192.168.1.254). La deuxième étape, et c'est là ou je sèche, c'est d'écrire la RewriteRule. Et je n'arrive pas à saisir le fonctionnement. Pour l'instant, j'ai mis dans mon fichier /etc/apache2/apache2.conf la règle suivante: Dans mon esprit, cette règle remplace n'importe quel chaîne dans l'URL par une chaîne vide. Mais elle ne semble pas fonctionner. Je précise 2 choses: - Quand on tape un nom de domaine de type "www.developpez.net", ça fonctionne puisque le spoofing DNS est OK. C'est si on rajoute "/quelquechose" que ça ne fonctionne pas. -Un phpinfo(); me précise bien que le mod_rewrite est activé. Cordialement, Etienne EDIT: voilà toute la partie du apache2.conf sur le Rewriting: Code :
|
||
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : août 2005 Messages : 8 280 ![]() |
Citation:
Après, absolument tout sera redirigé sur /index.html, y compris les appels à des images et des "sous-pages" du style /quelquechose/. J'imagine que ce n'est pas exactement ce que tu veux faire : tu peux donner des détails ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 21 ![]() |
Merci pour la réactivité !
Effectivement, ce n'est pas exactement ça. Je souhaite que si un utilisateur tape dans sa barre d'adresse "www.developpez.net/forum/exemple/meuh" ou n'importe quelle adresse, il soit redirigé vers ma page d'accueil. Par contre, une fois qu'il navigue dans mon site, cliquer sur un lien interne ne doit pas le rediriger vers la page d'accueil mais vers la page ciblée. Pour ça, je pense qu'un RewriteCond doit marcher ? Le but est d'obliger le navigateur de l'utilisateur à afficher ma page d'accueil, un peu comme les hotspots dans les aéroports Et pour le moment, si l'adresse est simple ("www.google.fr/", sans rien après le "/", ça fonctionne, mais pas si il y a quelque chose après le "/") Est-ce suffisamment précis ? |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2005 Messages : 8 280 ![]() |
Le plus simple c'est que tu aies un nom d'hôte pour ton site (www.monsiteamoi.com) et que tout appel à un site qui n'est pas celui-là soit redirigé dessus. Est-ce possible ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : mai 2009 Messages : 21 ![]() |
Pour le nom de domaine, ce n'est pas possible puisque le serveur est uniquement en Local est que le serveur DNS n'est pas implémenté.
Par contre, j'ai réussi à corriger le problème des URL complexes en utilisant un fichier .htaccess à la racine plutôt que le fichier de configuration du serveur apache. contenu du .htaccess: Code :
Maintenant, le problème est que tout est redirigé, mêmes les liens internes. Je pense donc qu'il faut rajouter une RewriteCond pour empêcher cela. J'ai tenté: Code :
RewriteCond %{HTTP_HOST} !^http://192.168.1.254(.*)$
EDIT: j'ai changé la condition et c'est un peu mieux : Code :
RewriteCond %{HTTP_REFERER} !^http://192.168.1.254/.*$
Le problème c'est que si un client a saisi par exemple www.google.fr, il est redirigé vers la page index.html de mon serveur web local, mais il semble que le HTTP_REFERER soit encore http://www.google.fr. Peut-on modifier cela, par de la réécriture d'URL ou autre ? |
||
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : août 2005 Messages : 8 280 ![]() |
Utiliser l'IP ou un nom d'hôte spécifique, c'est la même chose. Vu que tu as configuré le DNS pour rediriger tous les noms vers ton IP, ça ne devrait pas poser le problème.
En fait, ce que tu essaies de faire avec les conditions, c'est ce que je veux faire avec un nom. La chose fonctionnerait ainsi :
Dans un .htaccess, ça ce passe tout simplement comme ça : Code :
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com