pb avec url rewriting apres verif avec Xenu

Nouveau WRInaute
Bonjour,

J'ai mis en place l'url rewriting sur mon site (encore en test)
voici les règles :

Code:
RewriteEngine On 

#exemple : index.php devient index.html
RewriteRule ^index.html$ /dev/site/index.php [L]

#exemple : index.php?lang=fr devient index-fr.html
RewriteRule ^index-([A-Za-z]+)\.html$ /dev/site/index.php?lang=$1 [L]

#exemple : mission.php?lang=fr devientmissions-fr.html
RewriteRule ^missions-([A-Za-z]+)\.html$ /dev/site/missions.php?lang=$1 [L]

#exemple : missions.php?lang=fr&type_mission=fiscal devient missions-fr-fiscal.html
RewriteRule ^missions-([A-Za-z]+)-([A-Za-z]+)\.html$ /dev/site/missions.php?lang=$1&type_mission=$2 [L]

#Pour les autres pages si parametre de langue : on renomme simplement .php en .html avec l'ajout de fr ou de ou en
#exemple : contact.php?lang=de devient contact-en.html
RewriteRule ^(.*)-([A-Za-z]+)\.html$ /dev/site/$1.php?lang=$2 [L]

#Pour les autres pages si pas de parametres : on renomme simplement .php en .html
#exemple : contact.php devient contact.html
RewriteRule ^(.*)\.html$ /dev/site/$1.php [L]

Pour vérifier mes règles de réécriture des URL, j'ai utilisé le logiciel Xenu’s Link Sleuth (Ce type de logiciel agit comme Googlebot, le robot de google) : il parcourt les pages du site en suivant tous les liens qu’il trouve.

TTes mes pages appaissent avec le bon nom sauf qu'il m'ajoute en plus des pages de la sorte :
index-.html,
contact-.html
Alors qu'avec mes règles cela ne devrait pas se produire.

Pourriez vous m'aider à résoudre cette anomalie.
et eventuellement me dire si les règles vous semblent correctes et optimisées

merci
 
WRInaute accro
Il indique en fait qu'une ou plusieurs de tes pages contiennent des liens vers une page /contact-.html

Cherche plutot dans ces pages ou sont présents ces liens ce qui cause l'affichage du lien erroné, plutot que dans tes regles de réécriture
 
Nouveau WRInaute
je ne vois pas ou est l'erreur de prog

bonjour,

j'ai regardé ds mes pages php ou j'ai pu faire une erreur, je ne trouve pas :
j'ai un include qui gère la langue et qui est inclus dans chacune de mes pages (normalement la langue devrait toujours être alimentée).

Voici mon include de gestion des langues:
Code:
<?php 
// --------------------
// Gestion de la langue 
// --------------------

include("lang_commun.inc"); //traduction des menus et autres textes communs 

//Par précaution si la variable lang est mal alimentée, on lui donne la valeur par défaut
if ( (!isset($_GET["lang"])) or (($_GET["lang"]<>'fr') and ($_GET["lang"]<>'de') and ($_GET["lang"]<>'en')) )
{
  $lang = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); //parametre langue du navigateur
  $lang = StrToLower(substr(chop($lang[0]),0,2)); 
}
else
{
  $lang=$_GET["lang"]; //recup choix langue dans le bandeau (drapeau)
}
//echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
//echo $lang;

//--- fin gestion langue
?>

et dans mes pages j'apelle de 2 manieres mes pages, par exemple :

Appel avec la langue en dure (-fr) :
Code:
<a href="index-fr.html" title="ccm français"><img src="./images/drapeaufr.jpg" width="25" height="20"  border="0" alt="ccm français"/></a>
ou
Appel avec la langue en parametre (-$lang) :
Code:
<a href="index-<?php echo $lang;?>.html" title="<?php echo $string_lang['TITLE1'][$lang];?>">| <?php echo $string_lang['ACCUEIL'][$lang];?> </a>

Quelqu'un peut-il m'aider ?
L'erreur donnée par Xenu qd je controle mes pages est :
index-.html not found

Ce cas ne devrait pas se produire !?
 
Discussions similaires
Haut