Problème de RewriteRule [Apache] - Windows & Software
Marsh Posté le 08-11-2004 à 15:57:06
Pour rendre ma question plus clair, je voudrais juste que quand je tape www.monsite.com/fr/*, ça fasse comme si j'avais tapé www.monsite.com:8011/*
Marsh Posté le 08-11-2004 à 17:02:20
J'ai essayé en remplaçant le premier virtual host par
Code :
|
Dans ce cas, ça fonctionne comme un redirect (l'url est modifiée dans le navigateur). Pourtant d'habitude ça ne fonctionne pas comme ça ...
Pourquoi tant de haine ?
Marsh Posté le 11-01-2005 à 21:08:47
ReplyMarsh Posté le 11-01-2005 à 22:26:55
Juste un détail mais pourquoi ne pas plutôt utiliser des classes PHP pour la gestion des langues sur 1 seul host.. je ne saisis pas ou est l'avantage dans ta solution.
1) tu proposes un choix de language au visiteur, store les règlages dans un cookie..Si le client n'accepte pas les cookies, le règlage est stocké dans la variable de session pour la durée de la visite de toute façon... ou mieux, utiliser la langue par défaut du navigateur par exemple.
2) une instance de classe "language" en PHP par exemple est créée a chaque page et prend en charge la traduction de chaque text_ID[n] par exemple en fonction de la valeur storée dans le cookie.. text_ID[n] représentant une array de messages stockés, pourquoi pas, soit dans la définition de classe elle-même, soit dans une base mysql, et utilisables pour le contenu des pages..On appelle chaque text_ID depuis les pages en fonction des messages à afficher, titres, liens etc... enfin bon l'explication pourrait sûrement être plus claire mais tu vois ce que je veux dire.
Je ne comprend absolument pas la lourdeur d'avoir à utiliser deux virtual hosts pour çà, c'est multiplier par deux la galère de mises à jours, de maintenance, etc...
Marsh Posté le 08-11-2004 à 15:51:38
Bonjour à tous,
Avec apache, j'ai un petit problème que je pense être résolvable via RewriteRule mais je ne vois pas comment.
Mon site est multilingue. L'accès au site français se fait par http://www.monsite.com?site_id=1 et le site anglais par http://www.monsite.com?site_id=2. D'habitude, on utilise des virtuals hosts et RewriteRule pour mapper le port 8011 avec le site_id=1 et 8012 avec site_id=2.
Le problème est que cette fois le client veut www.monsite.com/fr/ et www.monsite.com/en/
Ca ne le gène pas d'utiliser plusieurs ports mais il ne veut pas voir apparaitre les ports dans l'url ni utiliser fr.monsite.com et en.monsite.com
Je pensais regler le problème en déclarant un virtualhost sur le port 80 qui aurait 2 RewriteRule pour rediriger vers les deux virtuals hosts mais j'ai l'impression que ça ne marche pas ...
Voila mon fichier host.
Qu'est-ce que j'ai fait de mal ?
Merci d'avance.