|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Bonjour tout le monde,
Je dois faire un site bilingue et je bloque sur un petit problème de redirection. Pour le visiteur, les deux versions se trouvent respectivement dans deux répertoires différents : http://www.monsite.com/fr http://www.monsite.com/en Comme le code source est unique, tous les fichiers sont en fait directement à la racine du site. J'ai réussi facilement à simuler la redirection pour tous les scripts php. Code :
http://www.monsite.com/fr/contact/ est redirigé vers : http://www.monsite.com/index.php?lan=fr&p=contact Et tout fonctionne à priori correctement. Sauf que le basepath html étant http://www.monsite.com/fr/ ou http://www.monsite.com/en/, tous les fichiers css, images, js sont cherché dans les faux répertoire de langue et non à la racine et ne sont alors plus trouvés. Comme ce serait trop long de définir des chemins absolus pour tous les fichiers, j'envisage deux solutions :
Mais voilà, je patauge depuis des heures, et je n'arrive pas du tout à le faire. Est-ce que quelqu'un a une idée ? Merci en tout cas d'avoir pris le temps de lire ce message et peut-être d'y répondre. Bonne journée, Korbn |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : août 2005 Messages : 8 297 ![]() |
Tu veux faire ça comment ? Je n'ai pas bien compris, en fait.
Ce que je ferais c'est ajouter une règle de réécriture pour les fichiers avec une extension donnée pour les "ramener" dans le répertoire parent : Code :
__________________
![]() 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
|
||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Merci beaucoup pour ta réponse.
Je voudrais faire l'équivalent d'un str_replace mais en htaccess et seulement pour les fichiers avec une extension autre que "php". Autrement dit, l'équivalent htaccess du code suivant ($extension étant l'extension et $url l'adresse url demandée) Code :
if($extension!=".php") $url = str_replace("en/","",$url);
Code :
http://localhost/website/monsite/fr/site/public/themes/style.css Code :
http://localhost/website/monsite/site/public/themes/style.css Est-ce que quelqu'un sait où cela cloche ? Merci d'avance |
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : août 2005 Messages : 8 297 ![]() |
Ca cloche dans ma règle, visiblement ! En même temps, j'avais prévenu que je n'avais pas testé
Code :
__________________
![]() 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
|
||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Merci beaucoup, cela marche nickel.
Ce module est vraiment très utile quand tu sais t'en servir. |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Zut, cela ne marche en fait pas du tout une fois que je mets cela sur le serveur.
Cela affiche l'erreur suivante "Bad Request Your browser sent a request that this server could not understand." Si je rajoute une redirection [L,R] et que je charge le fichier voilà l'url affichée : Code :
http://www.monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/en/style.csshttp://www.monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/var/www/virtual/monsite.com/en/style.css |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Si j'ai bien compris, la redirection se faisait à l'infini. Afin de ne rediriger qu'une seule fois, j'ai donc remplacé la redirection par :
Et voici ce que cela donne : Code :
http://www.monsite.com/var/www/virtual/monsite.com/style.css Et miracle cela fonctionne ! Enfin, pour les fichiers seuls. Le reste semble avoir encore des problèmes, mais bon, c'est déjà cela. Je reviens vers vous une fois que j'ai fais plus de recherches... |
|
|
00
|
|
|
#8 | ||
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 39 ![]() |
Aaaaaaaaaaaaaaaargh (comme le château).
Si je mets [L,R], cela fonctionne correctement pour les fichiers avec extensions. Par contre, si je ne mets que [L], cela me renvoie un "Bad request". A la limite, ça ne me dérange pas. Ce qui est plus gênant, c'est que désormais, tout le répertoire en/ est redirigé à la racine. http://www.monsite.com/en/ http://www.monsite.com/http://www.monsite.com/en/index.php http://www.monsite.com/index.phpPourtant le code est bien Code :
Pourquoi n'est-ce pas le cas, ô monde cruel ? (à prononcer à haute voix avec un léger trémolo, cela fait plus dramatique) |
||
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : août 2005 Messages : 8 297 ![]() |
Est-ce que tu as mis la configuration sur ton serveur dans un fichier .htaccess comme sur ton PC ? Le /var/... vient a priori du fait que tu as mis tes règles dans le fichier httpd.conf ou équivalent et pas dans un .htaccess. Me trompe-je ?
__________________
![]() 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
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com