URL rewriting

Fermé
benjamin-dereoas - 9 oct. 2012 à 17:41
lecil Messages postés 41 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 1 décembre 2015 - 8 nov. 2012 à 22:15
Bonjour,

je viens demander de l'aide ici car , voilà plusieurs heures que je suis sur un problème et je ne trouve pas la solution (elle est surement très simple ... )

Je construit un site internet type blog avec des articles.
J'aimerais re-écrire les url de cette façon :
AVANT : www.monsite.fr/article.php?id=34
APRES : www.monsite.fr/article/les-injections-sql-34


A l'heure actuelle, voici le contenu de mes différents fichiers :

.htaccess
RewriteEngine on
# force l'activation de l'url rewritting

RewriteRule article/([a-zA-Z0-9\-]+])-([0-9]+)	article.php?voir=$2
# renomme la page article sous la forme : http://monsite.fr/article/titre-de-article-id

RewriteRule page/([0-9])  index.php?page=$1
# renomme la page d'accueil avec la pagination

RewriteRule ^(profil|contact)(/.*)?$ $1.php
# supprimer les extentions .php sur les pages profil.php et contact.php


index.php

$sql = "SELECT A.url, A.id as artID, A.titre, A.contenu, A.date, A.categorie_id as catID, C.id, C.libelle FROM article A, categorie C WHERE A.categorie_id = C.id ORDER BY date DESC LIMIT ".(($cPage-1)*$perPage).",$perPage";
$req = mysql_query($sql) or die(mysql_error());


	while($a=mysql_fetch_assoc($req)):?>
		<article class="post">
				<div class="post-info">
					<span class="btn categorie btn-inverse"><?php echo date("j M Y",strtotime($a['date'])); ?></span>
					<span class="categorie btn"><?php echo $a['libelle'] ?></span>
					<?php 
						$url ="http://localhost:8888/blog/article/".$a['url']."-".$a['artID'];
					 ?>
					<a href="<?php echo $url;?>" class="link btn btn-info">Lire l'article</a>
				</div>
				<div class="post-content">
					<h2><?php echo $a['titre']; ?></h2>
					<p>
						<?php echo $a['contenu']; ?>
					</p>	
				</div>
		</article>
<?php endwhile; ?>


article.php

<?php 
$sql = mysql_query("SELECT * FROM article WHERE id = ".$_GET['voir'].";");
	while ($a = mysql_fetch_assoc($sql)):?>

<div id="nav-info" class="alert alert-info">
<a href="index.php">Article</a> <span class="separator"> >> </span> <a href="#"><?php echo $a['titre'];?></a>
</div>


		<article class="post-actif">
			<h1><?php echo $a['titre'];?></h1>
			<p>
				<?php echo $a['contenu'];?>
			</p>
		</article>
			<hr>
		<?php endwhile; ?>



Le problème est le suivant : lorsque je clique sur un lien d'un article sur la page index.php, l'url est sous la forme http://localhost:8888/blog/article/cakephp-un-framework-mvc-tres-puissant-3

Mais je me retrouve sur une 404 : The requested URL /blog/article/cakephp-un-framework-mvc-tres-puissant-3 was not found on this server.

Je suppose que mon erreur viens de ma page article.php, mes règles ayants l'air d'être correctes.
Pourriez vous m'aider ?

Merci d'avance






1 réponse

lecil Messages postés 41 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 1 décembre 2015 8
8 nov. 2012 à 22:15
tu es sous wordpress?
0