Impossible de mettre en place un URL Rewritting

Nouveau WRInaute
Bonjour,

Je souhaiterais Modifier un petit site web que j'ai réalisé afin d'utiliser l'URL Rewritting.

Mon site est organisé comme suit :
A la racine de mon serveur, un fichier index.php et les différents pages (scripts php appelés en include par index.php) dans un dossier 'Page'.
Selon la navigation dans le site il y a uniquement le centre de celui-ci qui est modifié ( Header , Menu et Footer fixes)

Ci-dessous des exemples d'URL de mon site:

http://mon-site.fr/index.php?centrale=rubrique1

et pour certaines rubriques :
http://mon-site.fr/index.php?centrale=actu?id=1

Je souhaiterais la modifier comme ceci :

http://mon-site.fr/NomRubrique
et
http://mon-site.fr/actu/nomActu


J'ai suivi plusieurs tutos et essayé de mettre un .htaccess en place (à la racine de mon serveur) sans succès (il ne se passe rien).

J'ai bien sur vérifié au préalable quel'URLRewritting était activé et effectué un test afin de le confirmer.

Voici un code que j'ai essayé :

Code:
RewriteEngine on
RewriteRule ^([A-Za-z0-9_]+)/?$ index.php?centrale=$1
RewriteRule ^([A-Za-z0-9_]+)/([0-9]+)/?$ index.php?centrale=$1&id=$2
 
Nouveau WRInaute
Merci Tryan, je n'avais pas vu ce Post.

j'ai lu celui ci avec attention et effectué quelques modifications mais mon problème persiste.

Afin d'obtenir le titre j'ai transmis celui-ci dans mon URL en plus de l'ID :

monsite/index.php?centrale=actu&id=1&titre=Bienvenue

Mon .htaccess donne donc cela :

Code:
RewriteEngine on
RewriteBase /
RewriteRule  ^(.*)-([0-9]*)-(.*)\.php$  index.php?centrale=$1&id=$2&titre=$3 [L]

je m'attends donc à obtenir comme URL: monsite/actu-1-Bienvenue.

Malheureusement celle-ci ne change pas.
 
WRInaute passionné
L'url ne change pas comme ça, c'est à toi de modifier tes liens à la main pour l'adapter à ta règle de ré-écriture.
Donc si tes url sont sous la forme :
Code:
<a href="index.php?centrale=actu&id=1&titre=Bienvenue">***</a>
il faut faut que tu les modifies de la façon suivante:
Code:
<a href="<?php echo $central;?>-<?php echo $id;?>-<?php echo fonction($titre);?>.php"><?php echo $titre;?></a>
 
Nouveau WRInaute
J'ai donc modifié mes liens selon tes conseils afin de transmettre l'URL sous la forme suivante :
/mon-site/actu/1/Bienvenue

J'obtiens malheureusement une erreur 404. Mon problème vient donc, je pense, du .htacces.

Voici celui-ci :

Code:
RewriteEngine on
RewriteBase /

RewriteRule  ^(.*)/([0-9]*)/(.*)\.php$  index.php?centrale=$1&id=$2&titre=$3 [L]
 
Nouveau WRInaute
Mon problème est résolu, pour cela il m'a fallu écrire mon .htaccess de cette façon :

Code:
RewriteEngine on
RewriteRule  ^(.*)/([0-9]*)-(.*)\.php$  /mon-site/index.php?centrale=$1&id=$2&titre=$3 [L]
et rajouter.php à mes liens.

Cependant il me reste deux petits soucis:
-Ma feuille de style n'est pas prise en compte
- Je possède des URL dont la forme est différent ( ex: http://localhost/Nom-site/Nomrubrique )j'ai donc simplement rajouté une règle comme ceci :

Code:
RewriteEngine on

RewriteRule  ^(.*)\.php$  /mon-site/index.php?rubrique=$1 [L]
RewriteRule  ^(.*)/([0-9]*)-(.*)\.php$  /mon-site/index.php?rubrique=$1&id=$2&titre=$3 [L]

Malheureusement cela ne fonctionne pas
 
Discussions similaires
Haut