8791 sujets

Développement web côté serveur, CMS

Bonsoir à tous,

Je vous laisse ce message car j'ai un petit problème avec mon site, j'essaye de le faire multilingues. J'ai ces fichiers là :

- .htaccess
- lang_fr
- header.php
- fichier html pour l'affichage

Dans mon .htaccess j'ai les lignes ci-dessous :

RewriteRule ^([a-z0-9-]+)$   	 http://localhost/fan/vues/$1.php  [L]
RewriteRule ^([a-z0-9-]+)/(a-z)$	 http://localhost/fan/vues/$1.php?lang=$2  [L]


Dans mon lang_fr je déclare mes constantes :
define( '_FOOTER', 'blablabla en francais' );


Et j'ai le même style de fichier pour l'anglais, avec mes constantes traduites.

Pour l'affichage :

    <div id="footer">
        <p><?= _FOOTER; ?></p>
    </div>


Dans le fichier header :

<?php
$lang = get_get_var('lang');
echo "la langue est : " . $lang;
if($lang=='en') { include('../config/lang_en.php'); } else { include('../config/lang_fr.php'); }
?>


Voila mon soucis, tout bête je pense. Je n'arrive pas à faire fonctionner mon .htaccess pour qu'il accepte le /en à la fin de l'url de base.

:$ Quelqu'un pourrait-il m'aider svp ?
Bizarre tes URLs, à mon avis tu fais fausse route. Tu ne préférais pas /en/truc.php plutôt que /truc.php/en ?

Enfin... si c'est ce que tu veux :


RewriteEngine On

RewriteBase /fan/vues/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([a-z]{2,2})(.*)$ $1.php?lang=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

Modifié par jb_gfx (18 Nov 2011 - 18:04)
Tu as raison !! C'est ça qu'il me faut, une url du style :
domaine.fr/en/page

Voici mon htaccess actuel (et qui fonctionne) :
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
ErrorDocument 404  http://localhost/fan/erreur-404
 
DirectoryIndex vues/accueil.php
RewriteRule ^([a-z0-9-]+)$   		 http://localhost/fan/vues/$1.php  [L]
RewriteRule ^([a-z0-9-]+)/([a-z]+)$	 http://localhost/fan/vues/$1.php?lang=$2  [L]


J'ai mis cette ligne là et ça fonctionne !
RewriteRule ^([a-z]+)/([a-z0-9-]+)$	 http://localhost/fannymoritz/vues/$2.php?lang=$1  [L]

Modifié par fanny95 (20 Nov 2011 - 12:15)