Problème url sous wamp2

TRUNCKS

Nouveau WRInaute
Bonjour à vous,

Je viens à vous car j'ai une erreur 500 sous wamp2 quand j'essaye de faire un redirection url.
La page que j'essaye de réécrire est à la racine.

J'ai fait cela:

Code:
#--------------------------------------------------
Répertoire : /localhost/
#--------------------------------------------------

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine on

#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

# Article sans numéro de page :
RewriteRule ^page-([0-9]+)-([0-9]+)\.php$   /page.php?id=$1 [L]

J'ai bien activé allow url et short tag dans le php.ini ( je suis sous wamp 2 )
et j'ai décoché rewrite dans php.ini.

J'ai oublié quelque chose ?

Merci à vous
 

jst

Nouveau WRInaute
TRUNCKS a dit:
#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

# Article sans numéro de page :
RewriteRule ^page-([0-9]+)-([0-9]+)\.php$ /page.php?id=$1 [L]
[/code]

J'ai bien activé allow url et short tag dans le php.ini ( je suis sous wamp 2 )
et j'ai décoché rewrite dans php.ini.

J'ai oublié quelque chose ?

Merci à vous

Salut, n'attends tu pas deux variables dans ton url php ? Et si c'est le cas, ne devrais tu pas avoir un truc du genre /page.php?id=$1&qqchose=$2 [L] ?

Je me trompe peut être ...
 

TRUNCKS

Nouveau WRInaute
Il y a quelque chose que je n'ai pas du comprendre alors :(

J'ai fait le test du tuto, test.html et ça fonctionne bien.

Dans la page, je passe les informations sur l'id.
Je dois mettre deux paramètres quand même ?

Cela marche bien avec le test.html, mais j'ai une erreur 500 une fois que j'essaie sur mon répertoire racine.
 

TRUNCKS

Nouveau WRInaute
C'est bon, j'avais mis deux arguments pour un seul dans l'url originale.

Par contre il y a un truc que je n'ai compris, comment je fais dans mon menu où je faisais passer l'id dans l'url pour arriver à la page ? Car quand je clique dans mon menu, je vais toujours sur la page .php?id=
 

tryan

WRInaute passionné
Salut,

Je suppose qu'en dehors de ta règle de ré écriture, tu as modifié tes liens et que tu utilises également une fonction??
 

TRUNCKS

Nouveau WRInaute
Au lieu de ça;

Code:
echo '<a href="page.php?ID_categorie='.$data_cat['ID_categorie'].'">'.
$data_cat['nom_categorie'].'</a>';}

J'ai mis cela:

Code:
echo '<a href="page-'.$data_cat['ID_categorie'].'.html">'.$data_cat['nom_categorie'].'</a>';}

Cela marche mais c'est complètement farfelu ou c'est correct ?
 

tryan

WRInaute passionné
Quelle est l'intérêt de rewriter juste un "id"?

Sinon, ta règle RewriteRule ne correspond pas à ton url...
Ta règle dit en gros : " page-chiffre-chiffre.php "
Alors que ton lien indique : " page-chiffre.html "
 

TRUNCKS

Nouveau WRInaute
Ben c'est pour pas avoir .php?id=

C'est moche non ? Et pour le référencement c'est pas terrible non ?

Du coup tu me conseilles quoi ?
De faire passer plusieurs paramètres ?
( Je m'y met à peine en fait, je n'y connais pas trop )
 

tryan

WRInaute passionné
Généralement on utilise le rewriting pour faire passer des mots clés dans l'url. Ces mots clés sont généralement le titre de l'article ou de la catégorie.

Perso, je préfère avoir une url du style : "page-titre-article-1.php" que "page-1.php".
Code:
RewriteRule  ^page-(.*)-([0-9]*)\.php$  page.php?titre=$1&id=$2 [L]
Code:
echo '<a href="page-'.fonction_rewriting($data_cat['nom_categorie']).'-'.$data_cat['ID_categorie'].'.php">'.$data_cat['nom_categorie'].'</a>';
J'ai répondus il y a peut de temps sur un poste similaire https://www.webrankinfo.com/forum/t/et-avec-un-titre-comment-faire.148964/#p1337516 , jettes y un coup d'oeil.
 

zeb

WRInaute accro
tryan a dit:
Généralement on utilise le rewriting pour faire passer des mots clés dans l'url. Ces mots clés sont généralement le titre de l'article ou de la catégorie
+1
de plus :
RewriteRule ^page-([0-9]+)-([0-9]+)\.php$ /page.php?id=$1 [L]
ne va pas correspondre à tes liens :
<a href="page-'.$data_cat['ID_categorie'].'.html">

et pour finir avant de mettre tout ça en ligne quand tu aura la bonne règle idéale, pense a faire en sorte que tes anciennes URL soit redirigées en 301 vert les nouvelles sinon ça va être la fête.
 

Discussions similaires

Haut