Redirection Htaccess en 127.0.0.1

Résolu/Fermé
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - Modifié par jjsteing le 3/11/2010 à 13:21
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 7 nov. 2010 à 09:03
Bonjour,

Je possède deux domaines et un serveur web.
Sur mon serveur, j'ai créé 2 répertoires : Domaine1 et Domaine2 contenant chacun des sites.

Au début, j'accédais aux sites via http://MonDomaine1.com/Domaine1/index.php et http://MonDomaine2.com/Domaine2/index.php

C'était pas très joli, alors, via du htaccess, je redirige directement en fonction du nom de mon site. Jusque là pas de soucis... mais lorsque je teste en local, c'est la kata !! surtout pour les <a href> .. j'ai 'contourner le problème pour les <img src> avec <base>.. mais apparemment, <base> ne marche pas pour <a href>... enfin, en local...


Voici mon code :

dans le htaccess
RewriteCond %{HTTP_HOST} ^www.MonDomaine1.com$ [nc]    
RewriteRule ^Webmastering\.html$ /Domaine1/index.php?id=21 [L]    

if(INHOUSE){    

 $Html.='<base href="http://127.0.0.1/Domaine1/" >';    

}else{    
 $Html.='<base href="http://www.MonDomaine1.com/Domaine1/" >';    
}    

<img id="bodyimgfond" src="Images/GradientGrey.gif">    

ok, pas de soucis.. pointe bien vers le chemin <base> et m affiche l image.. en local et sur site


mais :
<a href="/Webmastering.html">Webmastering</a>

ok si http://www.MonDomaine1.com/Domaine1/

Ouvre http://www.MonDomaine1.com/Webmastering.html, qui est redirigé vers le sous répertoire Domaine1

mais si je test en local, il essaye d'ouvrir http://127.0.0.1/Webmastering.html qui bien sûr n existe pas..

et si je met avec un point :
<a href="./Webmastering.html">Webmastering</a>

ca marche en local (ouvre http://127.0.0.1/Domaine1/Webmastering.html qui lui aussi est redirigé car j ai aussi un htaccess qui marche en local dans le répertoire de chacun des sites), mais sur site ouvre http://www.MonDomaine1.com/Domaine1/Webmastering.html.. et je me retrouve dans l ancienne config!! Grrr

Donc 2 solutions:
soit j arrive à mettre un htaccess (avec easyphp) qui redirige du http://127.0.0.1/Webmastering.html vers http://127.0.0.1/Domaine1/Webmastering.html, mais j ais pas trouvé où mettre ce P** de htaccess qui serait lu à l ouverture de l adresse 127.0.0.1 ou localhost

soit je modifi tout mon code pour qu il me rajoute ce point quand je suis en locale... mais bon, j avoue que je préfèrerais la première solution..

A moins qu'il y en est une (ou plusieurs) autre(s) ????

Merci




N'hésitez pas à poser des questions, il vaut mieux être con 5 min que le rester toute sa vie ;)
N'oubliez pas de mettre votre Post en 'Résolu' quand c'est le cas :-D

4 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 nov. 2010 à 13:19
Salut.

Pourquoi ne pas tout simplement utiliser les VirtualHost pour faire pointer mondomaine1.com sur le dossier Domaine1 et mondomaine2.com sur Domaine2 ?
1
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
Modifié par jjsteing le 3/11/2010 à 13:24
Tu peux compléter.. virtualhost en local....

Car sur site, ca marche impecable.. tout pointe comme je veux...
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
3 nov. 2010 à 14:20
http://www.siteduzero.com/tutoriel-3-307345-mise-en-place-des-serveurs-apache-et-dns.html
0
Les VirtualHosts simplifiraient en effet l'affaire, combinés au fichier hosts de ton OS.
On peut imaginer des entrées dans hosts :
127.0.0.1 dev.mondomaine1.com
127.0.0.1 dev.mondomaine2.com

Et créer des VritualHosts configurés dans Apache répondants à ces domaines "fictifs"
[...]
ServerName dev.nomdomaine1.com
DocumentRoot /chemin/vers/domaine1/
[...]

Et idem pour domaine2
0
bg62 Messages postés 23654 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 8 novembre 2024 2 385
3 nov. 2010 à 14:49
là aussi faudrait arrêter un peu de croire que l'usage du .htaccess permet toutes les libertés et peut tout faire ...
on le met un peu trop à toutes les sauces, sans connaissances et sans réflection, ce fichier !
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
4 nov. 2010 à 06:45
L'utilité première n est elle pas la sécurité ?? Donc en redirigeant, j'évite que l on sache trop facilement le nom de mes fichiers et leurs emplacements...
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
4 nov. 2010 à 12:04
Non, le .htaccess sert à modifier certaines directives pour la configuration d'Apache.

Parmis ces directives, il y a celles pour l'authentification HTTP, pour les redirections, pour les alias, etc.
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
7 nov. 2010 à 09:03
Pour info, et pour ceux que ca interresse :

dans httpd.conf :
section virtual host, j ai ajouter :

<VirtualHost monsite.web>
DocumentRoot "D:/Perso/"
ServerName monsite.web
</VirtualHost>

et tout en bas :

<Directory "D:/Perso">
Options FollowSymLinks Indexes
#AllowOverride None
AllowOverride all
Order deny,allow
Allow from 127.0.0.1
deny from all
</Directory>

ainsi, lorsque je vais sur monsite.web, il vas dans d:\Perso\ et est rediriger vers mon site qui est dans un sous répertoire ( D:/Perso/monsite/) via un htaccess

0