Un peu d'aide au sujet des Regles de réécriture

chris69
Invité n'ayant pas de compte PHPfrance

28 oct. 2016, 23:25

Bonsoir,

Je souhaite pauffiner l'indexation des pages d'un site que j'ai réalisé il y à quelques temps et j'ai pensé utiliser le systeme de rewrite rules pour se faire.

Si j'ai compris le principe, je me demande si je peux les utiliser dans mon cas et comment les mettre en place.

J'ai des liens vers des fiches de biens immobiliers. Ces fiches "sont appelées' par le biais d'un numéro. Ainsi, on demande, dans un lien, le chargement de la page fiche-immo.php?LinkCode=$Code. Dans la page fiche-immo.php je récupère $Code et le compare avec les codes des affaires enregistrées. Lorsque trouvée, j'affiche les infos sur l'affaire. Pas tres exotique tout ca !!

Je souhaiterai avoir une adresse de page du style "bar-tabac-resto-00000;html"; ("00000" etant mon numero, et "bar-tabac-resto" provenant de variables concernant une des affaires. NB : en faite, "bar-tabac-resto" est peut-etre remplacé par d'autres type de bien selon l'affaire concrnée)

Est ce que quelqun peut m'orienter ?

Mammouth du PHP | 786 Messages

28 oct. 2016, 23:52

c'est très courant, un exemple à mettre dans un .htaccess :
RewriteRule ^course\-([0-9]{1,6})\-[^:/]*\.html$ course.php?idcourse=$1 [QSA,L]
une adresse du type course-123456-du-texte.html va appeler course.php avec le paramètre idcourse qui vaux le nombre entre () soit 123456.

Chris69
Invité n'ayant pas de compte PHPfrance

08 déc. 2016, 22:53

Bonsoir,

Je reprends le file de cette discution.

J'ai testé les directives données ci-dessus et plus encore. Cela ne fonctionnait pas. L'hebergeur me soutient que ses serveur acceptent les directives d'URL rewriting. j'ai repris le problème en commençant par un test simple et celui-ci ne semble pas fonctionner. Voici mon fichier htaccess :

<IfModule mod_speling.c>
CheckCaseOnly off
CheckSpelling off
</IfModule>
ErrorDocument 404 /err-404.php
<IfModule mod_rewrite.c>
# URL rewriting module activation
RewriteEngine On
RewriteRule ^foo.html$ agences.php [L]
</IfModule>

J'ai déjà une directive developpée il y a quelques temps afin de mettre à "off" le mod speling et une gestion d'erreur 404, puis ma directive d'URL rewriting.

Ou est le problème ??

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8675 Messages

09 déc. 2016, 09:24

salut,

as tu testé juste le mode rewrite dans le .htaccess.
si tu sais que le mod rewrite est actif tu peux virer les balises ifmodule

tu peux tester dans un sous répertoire afin de ne pas pénaliser le reste.

@+
Il en faut peu pour être heureux ......