Page 1 sur 1

Rewriting url

Posté : 03 mars 2014, 14:00
par cris84
Bonjour à tous,
j'ai un souci avec la réécriture des url, j'ai fait un test avec un fichier nommé test.html avec la réécriture ci-dessous est ça fonctionne quand j'appelle foo.html, c'est bien test.html qui s'affiche.

Code : Tout sélectionner

RewriteEngine on RewriteRule ^foo.html$ /test.html [L]
Maintenant quand je fais la même opération avec profil.php?id=xxx là rien ne fonctionne

Code : Tout sélectionner

RewriteEngine on RewriteRule ^profil-([0-9]+)\.html$ /profil.php?id=$1 [L]
J'utilise un template pour mon site, est-ce que cela aurait une incidence ?

Voici la code de mon template (function haut)
<?php
function designhaut($titre) //à mettre en haut de chaque page pour avoir le design du site
{
	global $config, $lang, $prefix;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title><?php echo $titre; ?> - <?php echo $config['titre']?></title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="author" content="" />
	   <meta name="description" content="<?php echo $config['description']?>" />
	   <meta name="keywords" content="<?php echo $config['mots_cles']?>" />
	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="designs/simple/design.css" />
   </head>

   <body>
......code suite
}
?>
Merci d'avance de votre aide.

Re: Rewriting url

Posté : 03 mars 2014, 17:53
par Ryle
Salutations !

Ta ligne d'instruction est correcte, il faut cependant faire attention aux "^" et "$" que tu utilises. Cela implique que la chaine url après le nom de domaine doit obligatoirement commencé par "profil-..." et se terminer par ".html".
Ex : http://www.mondomaine.fr/profil-123.html

Si tu as un ou plusieurs répertoires entre le nom du domaine et le nom de la page (lié à ton template par exemple), la redirection ne fonctionnera pas :
Ex : http://www.mondomaine.fr/dossier/profil-123.html

"dossier/profil-123.html" ne respecte pas le masque "commence par profil-..."

Si c'est le cas essaye de supprimer le "^" dans ta règle :)

Re: Rewriting url

Posté : 03 mars 2014, 18:33
par cris84
Bonjour

Effectivement mon template est dans un dossier include.
j'ai donc essayé sans "^" mais cela ne change rien.

merci encore

Re: Rewriting url

Posté : 04 mars 2014, 11:15
par cris84
Bonjour,
personne n'a une idée de piste ?

Re: Rewriting url

Posté : 04 mars 2014, 12:32
par @rthur
Bonjour,

Il faut que tu fasses du débogage par toi-même car c'est compliqué de débuguer les règles de rewriting sans tester directement le résultat.

Voici 2 outils pour t'aider à vérifier tes règles d'url-rewriting : outils/outil-pour-tester-les-regles-url ... 67079.html
Et sinon mon conseil est que tu regardes attentivement tes log apache pour voir ce qui se passe.