|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Bonsoir _Mac_
Ca n'en finit finalement jamais et je me demande si je finirai un jour ce site web ![]() j'ai pris 3 extensions pour le site (.fr, .co.uk, .com) le .fr et .co.uk sont destinés a mieux civler la france et le royaume uni. le problème est que je suis hébergé sur un serveur mutualisé et ils ne permettent qu'un certificat SSL par contrat. la solution qu'il me proposent est de créer 2 autres contrats et dupliquer les fichiers Web, solution que j'ai refusée! ou sinon passer en serveur dédier mais là ce n'est plus la meme chose au niveau prix! ou sinon garder UNIQUEMENT le .com puis mettre .com/fr (france) .com/uk (royaume uni) que pense tu de ces 2 dernières solutions? y'aurait il un impact au niveau referencement? |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Honnêtement, je n'en ai aucune idée ! Je ne pense pas que ça change grand-chose. Faudrait faire des redirections permanentes vers les /fr et /uk, je pense. Pose la question sur le forum référencement.
__________________
![]() 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 du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
j'avais deja posé la question mais je n'ai malheureusement pas eu beaucoup de réponses : http://www.developpez.net/forums/d11...vs-extensions/
Je pense que je vais opter pour .com/lang et du coup quel est le moyen le plus simple de récupérer la langue avec un fichier htaccess? un truc du genre Code :
RewriteRule ^([a-z.{2}]+)/$ /?lang=$1 [QSA,L]
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
C'est correct mais attention, ça ne marche que pour les URL exactes "/fr/" par exemple. Si tu as "/fr" sans / terminal ou "/fr/untrucenplus" la règle ne sera pas exécutée.
__________________
![]() 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 du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Ah oui c'est vrai!
Je suis null avec les expression régulières et je n'arrive pas a les retenir, je ne sais pas comment toi tu fais!! Quelle sera la solution que tu proposes? Sachant que je viens de me rendre compte qu'il se peut quail n'y ait pas de langue. Ca Peut être uniquement site.com (international) ou site.com/uk (royaume uni)... |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
ça c'est mieux??
Code :
RewriteRule ^([a-z.{2}])/(.*)$ /$2?lang=$1 [QSA,L]
site.com/fr/contact.php?par=2 sera transformé en site.com/contact.php?par=2?lang=fr comment a ton avis pourrais je régler ce problème?? Merci |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Ce sera transformé en site.com/contact.php?lang=fr&par=2. C'est quoi le problème ?
__________________
![]() 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
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Umm, c'est juste que j'ai cru que ça bugera si l'URL contient déjà des paramètres... Je vais tester et te tiens au courant
Il y a un cas a traiter sur lequel j'aimerais te demander ton avis Sous quelle forme me conseilles tu mettre le site par défaut: - site.com - site.com/us ?? Histoire d'avoir toujours le code pays après le .com J'ai remarque que le site de Apple.com met tjrs le code pays après .com sauf pour les USA ou c'est toujours que .com Quelle stratégie me recommandes tu? Merci infiniment |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
j'ai essayé ce code mais ça ne marche pas: error 404
Code :
RewriteRule ^([a-z.{2}])/(.*)$ /$2?lang=$1 [QSA,L]
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Après quelques recherches, j'ai enfin réussi a faire fonctionner la ligne RegEx que voici le code:
Code :
RewriteRule ^([a-z]{2})/(.*)$ /$2?lang=$1 [QSA,L]
1. Quand il n'y a pas le slash a la fin, comment pourrais toujours forcer un slash a la fin pour les dossiers? 2. Quand c'est uniquement site.com/en/ (rien après le dossier de la langue) Aurais tu stp une solution? Merci |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Pour la question 1 : si c'est un vrai dossier (ou répertoire), il y a de fortes chances qu'Apache rajoute tout seul le / à la fin, mais si ce n'est pas pas un vrai dossier comme le code de langue, il faut écrire une règle de redirection pour ce cas :
Pour le deuxième cas, c'est idem, il faut écrire une règle spécifique : Code :
RewriteRule ^([a-z]{2})/$ page_par_defaut.php?lang=$1 [QSA,L]
__________________
![]() 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
|
|
|
#12 | ||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Citation:
site.com/account et site.com/account/ Citation:
Code :
RewriteRule ^([a-z]{2})/(.*) ou_rien$ /$2?lang=$1 [QSA,L]
|
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Pour le 1 : tu peux essayer en mettant DirectorySlash On dans le .htaccess à la racine du site. Essaie aussi en désactivant la négociation de contenu (Options -MultiViews), je pense que ça peut jouer.
Pour le 2 : je ne suis pas sûr que ce soit faisable car il faudrait mettre des parenthèses dans des parenthèses et je ne sais pas comment mod_rewrite se comporte dans ce cas. Le plus simple c'est de faire 2 règles.
__________________
![]() 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
|
|
|
#14 | ||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Citation:
est ce un pur hasard ou est ce la solution ?? Citation:
Code :
RewriteRule ^([a-z]{2})/(.*)$ /$2?lang=$1 [QSA,L]
1- avec la réécriture ci dessous, ça ne marche pas lorsque je mets site.com/uk/account (sans slash), ça me redirige vers site.com/account/?lang=uk sais tu pourquoi? 2- j'essaie d'avoir toujours juste .com pour l'anglais US, et .com/uk pour le Royaume uni. je ne devrais donc jamais avoir .com/us dans l'url. j'ai essaye ça mais ça ne marche pas je sais que ça ne gérera pas le cas où quelqu'un met site.com/us/page.php aurais tu une solution? avant d'aller plus loin, me conseilles tu de rediriger site.com/us vers site.com ou tout simplement afficher une erreur 404 ? Merci mille fois |
||
|
|
00
|
|
|
#15 | ||
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Citation:
Citation:
Clairement la redirection.
__________________
![]() 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
|
|
|
#16 | ||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Citation:
Citation:
Bonne soirée |
||
|
|
00
|
|
|
#17 |
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Ben je ne vois pas comment on peut corriger le problème si ce n'est ne plus forcer l'ajout d'un / à la fin pour les répertoires. Car en effet, Apache ne sait pas faire la différence entre un répertoire qui n'existe pas et un fichier qui n'existe pas non plus
Pour le reste, peux-tu donner le .htaccess complet ? Il se peut qu'il y ait un "conflit" avec une autre règle.
__________________
![]() 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
|
|
|
#18 | ||||||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Citation:
j'avais trouvé ce code mais il ne fonctionne pas très bien: Code :
Citation:
Code :
|
||||||
|
|
00
|
|
|
#19 | ||||
![]() ![]() Inscription : août 2005 Messages : 8 302 ![]() |
Comme je te disais, la redirection pour ajouter un / à la fin est problématique pour les dossiers qui ne sont pas de vrais dossiers. Donc Apache ne qu'appliquer la règle systématiquement ou jamais. Pour les vrais dossiers, il faut compléter la règle avec un RewriteCond -d :
Code :
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
|
|
|
#20 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 757 ![]() |
Oui oui j'avais bien compris qu'apache a du mal a différencier les dossiers 'vrais' des dossiers 'virtuels'
Mais la ce qui est bizarre c'est qu'il s'agit d'un vrai dossier (/account/) J'ai mis le code que tu m'as file mais ça ne marche toujours pas Concernant la redirection de /us, ça bien marche merci. Mais pourquoi pour cette ligne on met [R,L] et pour la dernière ligne [QSA,L] ?? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com