Rewrite Cond

Nouveau WRInaute
Bonjour, j'essaie de de renommer ma page.php?id=5 en page-5.html
Donc dans mon fichier htaccess, je place mon code:

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^manouvellepage-([0-9a-zA-Z-]+)\.html$ /page.php?id=$1 [L]
[les 2 urls sont ok]

Maintenant je dois placer une condition pour obliger page?id127 a basculer vers mapage-127.html
Pouvez-vous m'expliquer?
Merci

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteCond 
RewriteRule ^manouvellepage-([0-9a-zA-Z-]+)\.html$ /page.php?id=$1 [L]
 
WRInaute accro
salut, déjà je mettrais:

Code:
RewriteRule ^manouvellepage-([0-9]+)\.html$ /page.php?id=$1 [L]

Cela t'éviterait quelques injections sql si par malheur, tu avais mal codé ... :D

Et ensuite, pour la redirection, tu fais ça dans "page.php", tout en haut tu places un code qui va faire une redirection header 301 vers la bonne url, si $_SERVER["REQUEST_URI"] n'est pas bon.

Bonne chance.
 
WRInaute passionné
avec ca :
Code:
RewriteRule ^manouvellepage-([0-9]+)\.html$ /page.php?id=$1&rewrite [L]
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^page\.php$ /manouvellepage-%1.html? [L,R=301]
 
Nouveau WRInaute
Bonjour,

Tres bien ce tuto concernant l'URL rewrite, c'est ce que je cherchais, mais pour finaliser mon référencement, j'aurais aimer avoir plus d'infos sur un point.
Je gere un site avec une variable sur chaque page, ex : p=1
Ce que j'aimerais mettre en place sur le htaccess, c'est la possibilité de paramétrer chaque page (p=1, p=2, etc...) quand elles existent biensur, comme je veux, c'est a dire d'avoir des noms de page totalement differents à chaque fois.
J'ai pas mal cherché un peu partout mais je n'ai pas trouvé de solution, la seule que j'ai trouvé fonctionne sur un IIS Windows, voir ci dessous :

rewritecond %{query_string} ^p=30$
rewritecond %{query_string} !stop=true
rewriterule index.php presentation.html? [R=301]
rewriterule presentation.html index.php?p=30&stop=true [L]

Mais dans mon htaccess, serveur GP chez OVH, cela ne fonctionne pas.
Donc ce que je cherche a faire c'est de rediriger mes pages sans toucher aux liens (titres de mes rubriques) qui se generent tout seul (p=1, p=2, etc...) et pouvoir nommer comme je le désire toutes mes pages.
Pas évident a expliquer, j'espere que vous m'aurez compris.
Si quelqu'un a la solution, je suis evidemment preneur !

Merci.
A bientot.
 
WRInaute passionné
essaie cette écriture plus propre :
Code:
RewriteCond %{query_string} ^p=30$
RewriteRule ^index\.php$ /presentation.html? [R=301,L]
RewriteRule ^presentation\.html$ /index.php?p=30&stop=true [L]
 
Nouveau WRInaute
Super ! C'est exactement ce que je voulais ! Merci beaucoup webmasterlamogere !
Avec tous mes tests, je n'etais pas loin de ce que tu viens de me proposer !
Je ne devais plus avoir les yeux en face des trous a force de bidouiller ce code...

Encore un grand merci !

A bientot.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut