Rewriting url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rewriting url

Re: Rewriting url

par @rthur » 04 mars 2014, 12:32

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.

Re: Rewriting url

par cris84 » 04 mars 2014, 11:15

Bonjour,
personne n'a une idée de piste ?

Re: Rewriting url

par cris84 » 03 mars 2014, 18:33

Bonjour

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

merci encore

Re: Rewriting url

par Ryle » 03 mars 2014, 17:53

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 :)

Rewriting url

par cris84 » 03 mars 2014, 14:00

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.