rewriting chez 1and1

  • Auteur de la discussion Auteur de la discussion hanlin
  • Date de début Date de début
WRInaute occasionnel
salut
voici mon addresse :

*http://www.impec-france.com/chinese/articles/festival.php?id=56

Pour qu'elle apparaisse sous la forme :

*http://www.impec-france.com/chinese/articles/festival-id-56.htm


J'ai introduit les lignes suivantes dans mon htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule festival/id/(.*) festival.php?id=$1
RewriteRule festival/id/(.*)/ festival.php?id=$1



mais rien à faire ça marche pas. Je suis hébergé chez 1and1. Auriez vous une solution pour moi ??
Merci d'avance

Hanlin
 
WRInaute accro
je vais me faire frapper, mais ca sert à quoi de faire un url rewriting de ce type vu que tu ne rajoutes aucun mot clé... les moteurs préfèrent un htm à un "?" ? je sais qu'il aime pas "id" mais suffit de mettre une autre variable

ps : je débute dans l'url-rewriting :)
 
WRInaute impliqué
hanlin a dit:
salut
voici mon addresse :

*http://www.impec-france.com/chinese/articles/festival.php?id=56

Pour qu'elle apparaisse sous la forme :

*http://www.impec-france.com/chinese/articles/festival-id-56.htm


J'ai introduit les lignes suivantes dans mon htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule festival/id/(.*) festival.php?id=$1
RewriteRule festival/id/(.*)/ festival.php?id=$1



mais rien à faire ça marche pas. Je suis hébergé chez 1and1. Auriez vous une solution pour moi ??
Merci d'avance

Hanlin

Chez one and one, c'est comme ovh, il faut le "/" devant le chemin du script.

Pour ton cas je dirais :
Code:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^festival-([0-9]+)\.html$ /festival.php?id=$1

Et hop festival-xx.html => festival.php?od=xx
Après il faut quand même sortir des liens en html dans tes pages, là c'est juste pour qu'ils marchent.

++
 
WRInaute occasionnel
Après il faut quand même sortir des liens en html dans tes pages, là c'est juste pour qu'ils marchent
dcz,

J'ai placé le htaccess avec ce ke tu as écrit mais cela ne fonctionne toujours pas

Pourrais-tu me dire en quoi consiste : "sortir des liens en html" ?

C'est mon premier rewriting !

Merci

Hanlin
 
WRInaute accro
Tu dois faire en sorte que les liens qui sont créés dans tes pages (le code <a href=""></a>) donne des liens du style:

chinese/articles/festival-id-56.htm

...puisque le but de la règle de réécriture décrite ci-dessus est:

"Si le navigateur demande festival-id-quelquechose.html, génère et affiche la page festival.php?id=quelquechose"

>> là où dans ton code il y'a par exemple

Code:
echo '<a href="festival.php?id=' .$festival[0] .'">Festival ' .$festival[1] .'</a>';

tu dois faire "générer" le lien comme suit:

Code:
echo '<a href="festival-id-' .$festival[0] .'.html">Festival '.$festival[1] .'</a>';

(si j'me suis pas loupé... ;) )
 
WRInaute occasionnel
hanlin a dit:
Pourrais-tu me dire en quoi consiste : "sortir des liens en html" ?

Sur tes pages, faut faire des liens vers les nouveaux formats de la page, ça sert à rien de rewritter si tu fais un lien vers la page avec des paramètres.
Néanmoins, faudrait quand même enlevé le id de la page rewritté, c'est inutile.
 
WRInaute occasionnel
Pour ce qui est du rewriting de l'addresse :

*http://www.impec-france.com/articles/festival.php?id=56
en
*http://www.impec-france.com/article/festival-id-56.html


J'ai fait une tentative dans ma page *http://www.impec-france.com/liens/liens.php

en remplaçant :

<a href="/article/festival.php?id=<?php echo $row_rs_festival['id']; ?>"><?php echo $row_rs_festival['fr']; ?></a>

Par :

<a href="/article/festival-id-<?php echo $row_rs_festival['id']; ?>.html"><?php echo $row_rs_festival['fr']; ?></a>



et en plaçant mon fichier htaccess suivant (dans le répertoire article) :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^/article/festival-([0-9]+)\.html$ /article/festival.php?id=$1


j'ai une page d'erreur 404

Humm je ne sais vraiment plus koi faire

Toute proposition serait la bienvenue !
Merci
 
WRInaute occasionnel
hanlin a dit:
Pour ce qui est du rewriting de l'addresse :

*http://www.impec-france.com/articles/festival.php?id=56
en
*http://www.impec-france.com/article/festival-id-56.html


J'ai fait une tentative dans ma page *http://www.impec-france.com/liens/liens.php

en remplaçant :

<a href="/article/festival.php?id=<?php echo $row_rs_festival['id']; ?>"><?php echo $row_rs_festival['fr']; ?></a>

Par :

<a href="/article/festival-id-<?php echo $row_rs_festival['id']; ?>.html"><?php echo $row_rs_festival['fr']; ?></a>



et en plaçant mon fichier htaccess suivant (dans le répertoire article) :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^/article/festival-([0-9]+)\.html$ /article/festival.php?id=$1


j'ai une page d'erreur 404

Humm je ne sais vraiment plus koi faire

Toute proposition serait la bienvenue !
Merci

Remplace par :

Code:
<a href="/article/festival-<?php echo $row_rs_festival['id']; ?>.html"><?php echo $row_rs_festival['fr']; ?></a>

le id a été retiré du htaccess.

Sinon, ça n'engage que moi mais je serrai toi je reverrai le propreté de mon code, en utilisant la concatenation, le code php laissant à désirer :)
 
WRInaute occasionnel
Merci

Merci à tous pour vos suggestions ! Cela marche maintenant
Je sais ke mon code n'est pas très propre mais je suis un vrai novice, j'utilise un editeur de text pour faire mes page...avec le temps ça viendra !
Concernant le .htaccess, pour ke cela marche en fait il faut mettre le nom du répertoire ou se trouve la page avec 1and1 :

htaccess Avant :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^festival-([0-9]+)\.html$/festival.php?id=$1


htaccess apres :

RewriteEngine on
RewriteRule ^festival-([0-9]+)\.html$ /article/festival.php?id=$1


Avec le second, ça marche.

Merci encore

Han lin :D
 
WRInaute impliqué
excuse, si tu garde "id" dans tes url réécriute, il faut faire :

Code:
RewriteEngine on
RewriteRule ^festival-id-([0-9]+)\.html$ /article/festival.php?id=$1

Pour un url du type:

titre-de-page-id-xx.html

Je pencherais plus pour

titre-de-page-idxx.html

avec du coup ça dans le .htaccess :
Code:
RewriteEngine on
RewriteRule ^festival-id([0-9]+)\.html$ /article/festival.php?id=$1

++
 

➡️ 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