Messages: 3

Enregistré le: 24 Mai 2012

Message le Jeu Mai 24, 2012 22:27

Bonjour,

Je suis débutant en URL rewriting et même si j'ai bien compris les principes de base, j'avoue que je patauge complet.

Je souhaiterais qu'une adresse du style http://comptoir-du-net.fr/portail/?page=breve&breve=87 (elle s'affiche ainsi mais dans la réalité ce devrait plutôt être http://comptoir-du-net.fr/portail/index.php?page=breve&breve=87) soit accessible à cette adresse : http://comptoir-du-net.fr/breve-87.

En suivant vos tuto, j'en suis arrivé à cette ce code pour le .htaccess :

Code: Tout sélectionner
Options +FollowSymlinks

RewriteEngine on

RewriteRule ^breve-([0-9]+)\.html$  /portail/?page=breve&breve=$1 [L]

Et ça ne fonctionne pas : www.comptoir-du-net.fr/breve-87.html 404 not found.

Si qq'un pouvait éclairer ma lanterne, ce serait avec une grande joie.

Cordialement.
Haut
5 Réponses
Messages: 7239

Enregistré le: 13 Juin 2005

Message le Ven Mai 25, 2012 9:36

Bonjour

Sous cette forme, tu ne peux pas utiliser une URL avec des paramètres PHP dans la partie de gauche de la ligne de réécriture.
il faut utiliser une autre ligne avec la directive RewriteCond

http://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html

Par contre je suis pas un expert, je passe la main pour la suite :mrgreen:
Haut
Messages: 573

Enregistré le: 6 Aoû 2006

Message le Ven Mai 25, 2012 9:46

Et en essayant sans le html, qui n'est nulle part dans tes exemples ? :
Code: Tout sélectionner
RewriteRule ^breve-([0-9]+)$  /portail/?page=breve&breve=$1 [L] 



Ou peut-être tu as mal écrit tes exemples ?
Haut
Messages: 3

Enregistré le: 24 Mai 2012

Message le Ven Mai 25, 2012 14:53

alaincassis a écrit:Et en essayant sans le html, qui n'est nulle part dans tes exemples ? :
Code: Tout sélectionner
RewriteRule ^breve-([0-9]+)$  /portail/?page=breve&breve=$1 [L] 



Ou peut-être tu as mal écrit tes exemples ?


Merci de votre aide, oui, j'ai mal écrit l'exemple.

J'y suis arrivé mais j'ai un soucis :

Code: Tout sélectionner
Options +FollowSymlinks

RewriteEngine on

RewriteRule portail/(.*)-(.*)$ portail/index.php?page=$1&breve=$2
RewriteCond %{QUERY_STRING} ^page=(.*)&breve=(.*)$
RewriteRule ^$ http://comptoir-du-net.fr/portail/index.php?%1-%2? [L,R=301]


http://comptoir-du-net.fr/portail/?page=breve&breve=45 est bien accessible à
http://comptoir-du-net.fr/portail/breve-45

Seulement, j'ai aussi un dossier images dans le dossier portail et lorsque j'appelle
http://comptoir-du-net.fr/portail/images/fond-rouge.gif l'image ne charge pas. Je l'ai renommé en fondrouge.gif et elle peut être appelé.

Il doit falloir modifier les conditions ou mettre des exceptions mais alors là ???

De plus, j'ai un duplicate content de ce fait, j'ai bien modifier le php pour ne plus appeller les anciennes URL mais comment faire pour les rendre inaccessible ?
Haut
Messages: 573

Enregistré le: 6 Aoû 2006

Message le Ven Mai 25, 2012 18:17

Le htaccess me parait un peu compliqué ! . On doit pouvoir le faire en 1 seule ligne .

Pour le duplicate, une simple balise canonical et c'est tout !
Haut
Messages: 3

Enregistré le: 24 Mai 2012

Message le Ven Mai 25, 2012 19:04

alaincassis a écrit:Le htaccess me parait un peu compliqué ! . On doit pouvoir le faire en 1 seule ligne .

Pour le duplicate, une simple balise canonical et c'est tout !


Alors là, je veux bien un coup de main pour tout simplifier et surtout mettre des conditions (cf mon image avec un tiret).

Pour la balise canonical, je viens de lire ce que c'était mais là aussi, je vois pas quoi mettre dans l’entête :

J'imagine qq chose comme cela :

<link rel="canonical" href="http://comptoir-du-net.fr/portail/breve-"> ?

J'avoue que je sèche ...
Haut