Rewriting absent

Nouveau WRInaute
Hello à tous,

je voudrais réécrire les urls dynamiques sur mon site
http://www.gouvieux-basket-oise.org/actus.php.

j'ai donc suivi le tuto concernant le .htaccess mais mes url ne sont pas réécrites.
voici mon htaccess :

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

# 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 avec ID :
RewriteRule ^archive-actus-([0-9]+)\.html$ /archives-actus.php?id=$1 [L]

pour voir les urls dyn, sur la page actus.php, rdv dans le module de gauche Archives...


merci pour votre aide
 
WRInaute accro
Bonjour
Il faut aussi que tu changes les liens dans ton code ... le fichier .htacces ne fait que faire le lien entre les "fausses" url réécrites et les Url dynamiques gérées par tes scripts... au grand jamais il n'ira changer des liens dans un code HTML ou PHP.
 
Nouveau WRInaute
nickargall a dit:
Bonjour
Il faut aussi que tu changes les liens dans ton code ...

tu peux m'en dire plus stp ?

voici comment j'appelle l'URL :

Code:
echo '<a href="../archives-actus.php?id='.$id.'" >'.$titre.'</a>' ;


EDIT

OK j'i trouvé
Code:
echo '<a href="../archives-actus-'.$id.'.html">'.$titre.'</a>' ;

par contre 2eme question :
j'aimerais maintenant que le titre de mon actu devienne l'url.
exemple : au lieu d'avoir "archives-actus-5.html" je voudrais "inscription-pronostics.html"....
 
WRInaute passionné
il y a plusieurs choses à faire lors de la mise en place de réécriture :
- mettre en place la règle dans le htaccess (là c'est tout bon visiblement)
- remplacer les anciens liens par les nouveaux dans toutes les pages du site (à faire)
- mettre en place une redirection 301 des anciennes url vers les nouvelles. Cette étape n'est pas obligatoire mais c'est pour indiquer aux moteurs de recherche que la page est transférée.

edit : grillé

visiblement la réécriture ne marche pas car j'ai une erreur 404 : -http://www.gouvieux-basket-oise.org/archive-actus-15.html
 
Nouveau WRInaute
webmasterlamogere a dit:
il y a plusieurs choses à faire lors de la mise en place de réécriture :
- mettre en place la règle dans le htaccess (là c'est tout bon visiblement)
- remplacer les anciens liens par les nouveaux dans toutes les pages du site (à faire)
- mettre en place une redirection 301 des anciennes url vers les nouvelles. Cette étape n'est pas obligatoire mais c'est pour indiquer aux moteurs de recherche que la page est transférée.

edit : grillé

visiblement la réécriture ne marche pas car j'ai une erreur 404 : -http://www.gouvieux-basket-oise.org/archive-actus-15.html

c'est parcequ'il manque un "s" à archive dans mon 1er post...

essaie ça :
http://www.gouvieux-basket-oise.org/archives-actus-11.html
 
Nouveau WRInaute
je repost ma dernière question

par contre 2eme question :
j'aimerais maintenant que le titre de mon actu devienne l'url.
exemple : au lieu d'avoir "archives-actus-5.html" je voudrais "inscription-pronostics.html"....
 
WRInaute passionné
HS : il manque cette ligne dans le <HEAD>
Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

tu peux modifier ta règle pour avoir un titre en plus et une url du style inscription-pronostics-5.html :
Code:
RewriteRule ^.*-([0-9]+)\.html$ /archives-actus.php?id=$1 [L]
 
WRInaute accro
Pour arriver exactement à l'URL que tu souhaites, tu vas devoir changer pas mal de chose dans la programmation de ton site.

- Modification des codes de création des URL en récupérant le titre associé à l'ID que tu passes
- modification des URL pour enlever les caractères spéciaux
- modification des scripts de récupération des paramètres passés dans l'URL pour permettre à ton site de trouver l'info relative au titre que tu passes dans l'URL
- Mettre en place des redirections 301 de toutes tes anciennes URL vers les nouvelles URL re-réécrites

Franchement ca sera une belle usine à gaz pour pas grand chose...

Edit: Ya aussi la solution donnée par Webmaster Lamogère (inclure l'indentifiant en plus du titre de l'actu) mais qui demandera quand même de la mise en place de redirections 301 old-url --> new-url et un traitement des caractères spéciaux
 
WRInaute passionné
il ne faut pas oublier de modifier les liens :
Code:
echo '<a href="/' . urlencode($titre) . '-' . $id.'.html">'.$titre.'</a>' ;
avec un urlencode l'url n'est pas très belle car elle contient des %NN. Tu peux mettre en forme le $titre pour remplacer les caractères spéciaux par - et donc te passer de l'urlencode.
 
Discussions similaires
Haut