Redirection Htaccess en 127.0.0.1

Résolu
jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   -  
jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   -
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. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
       
      Tu peux compléter.. virtualhost en local....

      Car sur site, ca marche impecable.. tout pointe comme je veux...
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      http://www.siteduzero.com/tutoriel-3-307345-mise-en-place-des-serveurs-apache-et-dns.html
      0
    3. A.Nonymous
       
      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. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    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. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
       
      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. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  4. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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