IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Faux répertoire de langue


Sujet :

Apache

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut Suite de mes recherches
    Bonjour,

    voici ou mon code est rendu, cela fonction... mais il y a un mais... les fichiers css et image ne load plus... comment puis-je regler cela? j'ai aucune idée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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]
     
    RewriteRule ^(fr|en)/(.*) $2?language=$1 [NC,QSA]

  3. #3
    Invité
    Invité(e)
    Par défaut
    En rajoutant une condition "différent d'un fichier css" et la même chose pour tes format d'image ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{REQUEST_URI} !\.css$
    Pas certain que cela fonctionne à 100%, mais tu ne risque rien rien à le tester

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Le problème, c'est la manière dont tu as écrit les URL des images et CSS des pages : ce sont des URL relatives (src="rep/image.jpg" par exemple ou src="../rep/image.jpg") qui font qu'elles sont finalement fausses avec la nouvelle URL des pages qui contient un répertoire fictif en plus. Il faut soit corriger les URL de toutes tes images en ajoutant un ../ devant par exemple ou en rendant les URL relatives à la racine du site (src="/...") ou ajouter une balise <base> dans la section <head> de tes pages.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Réponses: 50
    Dernier message: 06/04/2010, 10h55
  2. Réponses: 37
    Dernier message: 01/04/2010, 14h17
  3. Réponses: 1
    Dernier message: 23/01/2008, 18h04
  4. sélectionner un répertoire
    Par estelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/09/2005, 04h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo