Faux répertoire de langue
Bonjour,
Je ne suis pas vraiment familier avec le fichier .htaccess et depuis un certain temps j'essayes de faire ceci :
www.domain.com/fr/ et qu'en fait le fr est une variable GET pour le php... je vous montres ou j'en suis rendu, ca fonctionne a moitier...
#voici pour le fonctionnement de base.
Code:
1 2 3
| RewriteCond %{REQUEST_URI} ^/fr/.* [OR]
RewriteCond %{REQUEST_URI} ^/en/.*
RewriteRule ^(fr|en)/(.*) $2?language=$1 [NC,QSA] |
J'aimerais aussi detecter le language du navigateur internet si il n'a pas le repertoire fr/ ou en/ deja inscrit
voici comment je m'y prends
Code:
1 2 3 4 5
| RewriteCond %{REQUEST_URI} !^(fr|en)/.*
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ /fr/$1 [R=301]
#si pas francais default anglais
RewriteRule ^$ /en/$1 [L,R=301] |
Quand j'arrives sur mon site ca me donne cela
www.domaine.com/fr/?language=fr
et ca me cause un erreur a cause du ?language=fr
Est-ce que quelqu'un pourrait m'indiquer quelle est mon erreur svp? J'ai essayer de me documenter mais la, je ne vois pas du tout comment regler mon probleme.
Merci d'avance.
rewrite en Htaccess, je suis completement perdu
Bonjour,
J'ai un probleme avec mon htaccess, je n'arrives pas a faire ce que je veux, j'ai beau retourner ca dans tout les senses... j'ai vraiment besoin d'aide.
Ce que je veux arriver a faire c'est d'avoir une categorie en sous domain (mon serveur est configurer pour des faux sous-domain: *.domain.com) et la langue dans un faux sous-repertoire. Voici un example :
address final (et fictive)
categorie.domain.com/fr/ en réalité elle doit etre executer comme cela ex: index.php?categorie=xxx&language=xx
Voici comment je m'y prends :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^(cat1|cat2|cat3)\.domain\.com$
RewriteRule ^$ http://domain.com/ [NC,L,R]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule \.(?:css|png|jpe?g|gif)$ - [L]
RewriteRule mdl/(css|images|handles)/(.*)/(.*) /modules/$2/$1/$3 [NC,L]
RewriteRule tpl/(css|images|fonts)/(.*) /templates/default/$1/$2 [NC,L]
RewriteRule (fr|en)/(.*) /$2?language=$1 [NC,L]
RewriteCond %{QUERY_STRING} !(?:^|&)language=[^&]+
RewriteCond %{REQUEST_URI} !^/(?:fr|en)/
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule .* /fr/$1 [L,R=permanent]
RewriteCond %{QUERY_STRING} !(?:^|&)language=[^&]+
RewriteCond %{REQUEST_URI} !^/(?:fr|en)/
RewriteRule .* /en/$1 [L,R=permanent]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domain/$1 [PT,L]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(cat1|cat2|cat3)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^(.+/)?([^/]*)$ $1?category=%1&language=$2 [QSA,L,NC]
</IfModule> |
Quelqu'un peut m'aider? soyez claire aussi, je suis completement perdu dans tous ca!
merci d'avance