Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 13h04   #1
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Par défaut Redirection selon le nom d'hôte

Bonjour à tous,

Voici une variante du problème dans un cas un peu plus compliqué qui dépasse largement mes connaissances en htaccess :

Soit un client ayant 2 sites de vente en ligne. Le premiers vend par exemple des vélos et le second des parapluies. Sur chacun d'entre eux, une page permet de lister les produits par marque:

www.velos.fr/marque_1.html -> liste la marque de vélos d'id #1, par exemple Peugeot
www.parapluies.fr/marque_1.html -> liste la marque de parapluies d'id #1, par exemple PacoRabanne

Ce client passe sous Magento multisites : les noms de domaine ne changent pas, les urls changent. En mode multisite, toutes les urls pointent sur le même dossier et sont donc traitées par le même .htaccess, celui-ci permet à Magento de savoir de quel magasin il s'agit en examinant l'hôte demandé.

Mais comme les urls ont changé, le client veut une redirection 301 :
www.velos.fr/marque_1.html -> www.velos.fr/velos/peugeot
www.parapluies.fr/marque_1.html -> www.parapluies.fr/parapluies/pacorabanne

C'est là que le bât blesse car :
Code :
1
2
RewriteRule   ^marque_1.html$ www.velos.fr/velos/peugeot [L,R=301]
marche bien mais il ne sera pas possible d'ajouter une règle pour les parapluies, tandis que :
Code :
1
2
RewriteRule   ^www.velos.fr/marque_1.html$ www.velos.fr/velos/peugeot [L,R=301]
ne marche pas du tout.

Comment puis-je rédiger mes règles en fonction du nom d'hôte ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/12/2011, 21h18   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 297
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 297
Points : 8 580
Points : 8 580
Il faut tout simplement utiliser une condition (RewriteCond) :
Code :
1
2
RewriteCond %{HTTP_HOST} www.velos.fr
RewriteRule   ^marque_1.html$ /velos/peugeot [L,R=301]
__________________

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
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/12/2011, 09h45   #3
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Ca marche !
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h36.


 
 
 
 
Partenaires

Hébergement Web