Redirection Htaccess en 127.0.0.1

Résolu
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

  1. Salut.

    Pourquoi ne pas tout simplement utiliser les VirtualHost pour faire pointer mondomaine1.com sur le dossier Domaine1 et mondomaine2.com sur Domaine2 ?
    1
    1. Contributeur
      Tu peux compléter.. virtualhost en local....

      Car sur site, ca marche impecable.. tout pointe comme je veux...
      0
    2. http://www.siteduzero.com/tutoriel-3-307345-mise-en-place-des-serveurs-apache-et-dns.html
      0
    3. 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
  2. Modérateur
    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
    1. Contributeur
      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
  3. 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
    1. Contributeur
      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