Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2888 connectés 

  FORUM HardWare.fr
  Windows & Software

  [Apache] Problème de RewriteRule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache] Problème de RewriteRule

n°1792778
aleske
Posté le 08-11-2004 à 15:51:38  profilanswer
 

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.
 

Code :
  1. <VirtualHost 1.2.3.4>
  2. RewriteEngine on
  3. RewriteRule ^http://1.2.3.4/fr/(.*)$ http://1.2.3.4:8011/index.php?site_id=1
  4. RewriteRule ^http://1.2.3.4/en/(.*)$ http://1.2.3.4:8012/index.php?site_id=2
  5. </VirtualHost>
  6. ########### FRANCAIS ############
  7. <VirtualHost 1.2.3.4:8011>
  8. DocumentRoot /sources
  9. DirectoryIndex index.php?site_id=1
  10. RewriteEngine on
  11. RewriteRule ^/page/(.*)$ /index.php?site_id=1
  12. ErrorDocument 404 /index.php?site_id=1
  13. ErrorDocument 501 /index.php?site_id=1
  14. ErrorDocument 503 /index.php?site_id=1
  15. </VirtualHost>
  16. ########### ANGLAIS ############
  17. <VirtualHost 1.2.3.4:8012>
  18. DocumentRoot /sources
  19. DirectoryIndex index.php?site_id=2
  20. RewriteEngine on
  21. RewriteRule ^/page/(.*)$ /index.php?site_id=2
  22. ErrorDocument 404 /index.php?site_id=2
  23. ErrorDocument 501 /index.php?site_id=2
  24. ErrorDocument 503 /index.php?site_id=2
  25. </VirtualHost>

mood
Publicité
Posté le 08-11-2004 à 15:51:38  profilanswer
 

n°1792786
aleske
Posté le 08-11-2004 à 15:57:06  profilanswer
 

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/*

n°1792885
aleske
Posté le 08-11-2004 à 17:02:20  profilanswer
 

J'ai essayé en remplaçant le premier virtual host par  
 

Code :
  1. <VirtualHost 1.2.3.4:80>
  2. RewriteEngine on
  3. RewriteRule ^/fr(.*)$ http://1.2.3.4:8011$1
  4. RewriteRule ^/back(.*)$ http://1.2.3.4:8010$1
  5. RewriteRule ^/en(.*)$ http://1.2.3.4:8012$1
  6. </VirtualHost>


 
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 ?  :(

n°1885270
j2c
J'adore les roses
Posté le 11-01-2005 à 21:08:47  profilanswer
 

alors ? du nouveau ?


---------------
Mon site http://j2c.org
n°1885355
jackyl
Posté le 11-01-2005 à 22:26:55  profilanswer
 

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...  :??:


Message édité par jackyl le 11-01-2005 à 22:42:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  [Apache] Problème de RewriteRule

 

Sujets relatifs
probleme a l'ouverture de mes logicielsProbleme Win 2K
Incredimail XE-Problème de rechercheProblème avec Rundll32.exe
Problème d'installation SP1 vers SP2...Problème de saccade avec Power DVD XP 4.0
Problème image ghost sur carte promise pciProbleme mise sur serveur gros fichier!!
Freebox problème de connexionprobleme reseau WinXP
Plus de sujets relatifs à : [Apache] Problème de RewriteRule


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)