Réécrire url sans la variable

nile

WRInaute discret
Salut,
Je voudrai que ma réécriture soit : petites-annonces-gratuites.htm au lieu de petites-annonces-gratuites-lavariable.htm
Mais je n'arrive pas à supprimer la variable de la réécriture.
Voici le code :

RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites-([0-9]+)\.htm$ /annonces-code-de-la-route/petites-annonces-auto-ecole-gratuites.php?limite=$1 [E=BREAK:1,L]
#
RewriteCond %{ENV:REDIRECT_BREAK} !^1$
RewriteCond %{QUERY_STRING} ^limite=([0-9]+)$
RewriteRule ^annonces-code-de-la-route/petites-annonces-auto-ecole-gratuites.php$ https://code-a-domicile.com/annonces-code-de-la-route/petites-annonces-gratuites-%1.htm? [R=301,L]
 

rick38

WRInaute passionné
C'est l'inverse dans ton RewriteRule, d'abord ce qu'on veut réécrire, et ensuite la redirection.
 

rick38

WRInaute passionné
En enleveant tout le reste et mettre juste :

RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites-([0-9]+).htm$ /annonces-code-de-la-route/petites-annonces-gratuites.htm [R=301,L]
 

nile

WRInaute discret
Merci rick38. J'avais déjà essayé, mais ça m'affiche une page 404, ce qui est normal, puisqu'il manque la variable qui permet l'affichage ...
 
Dernière édition:

FortTrafic

WRInaute passionné
Seulement ça :
RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites-([0-9]+).htm$ /annonces-code-de-la-route/petites-annonces-gratuites.htm?limite=$1 [R=301,L]

??? Quel est le problème dans ce cas ?

Si tu me dis que /annonces-code-de-la-route/petites-annonces-gratuites.htm n'est pas un vrai fichier, alors remplace par ton vrai fichier :

RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites-([0-9]+).htm$ /monvraifichier.php?action=annonces&limite=$1 [R=301,L]
 

nile

WRInaute discret
RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites\.htm$ /annonces-code-de-la-route/petites-annonces-auto-ecole-gratuites.php?limite=$1 [L]

En fait la réécriture fonctionne, mais en enlevant la variable de l'url réécrite, la page plante et j'ai une erreur mysql, bref je perds la variable "limite" qui sert à afficher les données de la BDD.
 

nile

WRInaute discret
En fait voilà le problème : mon script php va chercher 100 annonces dans la BDD avec la variable "limite", ce sera la page 1, puis les 200 suivantes seront la page 2 etc...

Si je réécris l'url sans faire apparaître $limite, du coup le php marche plus. Je ne veux pas faire apparaitre $limite ds l'url car ça peut générer plein de pages inutiles et plus ou moins en double. Donc comment puis-je réécrire mon url sans afficher $limite mais qu'il soit toujours présent pour faire fonctionner le script php ? Et si c'est pas possible quelle solution de remplacement pourrais-je utiliser ?

ça fait des semaines que je planches dessus et je trouve pas ...
:confused: aidez moi ... Pitié ...
 

FortTrafic

WRInaute passionné
Je comprends pas ton problème mais tu peux mettre ça :
RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites-([0-9]+).htm$ /monvraifichier.php?action=annonces&limite=$1 [R=301,L]
RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites.htm$ /monvraifichier.php?action=annonces&limite=1 [R=301,L]

Comme ça tu as la page annonces-code-de-la-route/petites-annonces-gratuites.htm qui affiche avec "limite = 1" sans qu'il apparaisse 1 dans ton url, mais pour les autres cas, tu auras des pages annonces-code-de-la-route/petites-annonces-gratuites-XYZ.htm où XYZ sera la valeur de "limite"

Sinon, si tu veux avoir que quelques pages (et donc valeurs de limite) tu peux determiner chaque url pour chaque valeur :
RewriteRule ^annonces-code-de-la-route/petites-annonces-gratuites.htm$ /monvraifichier.php?action=annonces&limite=1 [R=301,L]
RewriteRule ^annonces-code-de-la-route/dix-petites-annonces-gratuites.htm$ /monvraifichier.php?action=annonces&limite=10 [R=301,L]
RewriteRule ^annonces-code-de-la-route/cent-petites-annonces-gratuites.htm$ /monvraifichier.php?action=annonces&limite=100 [R=301,L]
 

nile

WRInaute discret
J'ai tout mis à la poubelle et j'ai réécrit le forum en mettant une variable page et non pas limite, comme ça je peux l'afficher ds l'url et du coup je la conserve. Merci à tous.
 

Discussions similaires

Haut