Version complète: sur le forum Webmaster Hub : Mes urls rewrinting ne marche pas!
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
leknoppix
Bonjour à tous, je suis en train de rajouter des petits modules au niveau de mon blog.
J'ai un problème au niveau de mes url rewriting.

Voila, je veux changer une url de ce type: http://leknoppix.fr/article.php?titreurl=t...nt_les_vacances
vers un url de type:
http://leknoppix.fr/article/toujours_en_co...nt_les_vacances

Le problème c'est que je n'arrive pas a récupéré la valeur get.

Voici mon htaccess:

CODE
SetEnv PHP_VER 5
RewriteEngine on
RewriteRule ^([0-9a-zA-Z_]+)\.html$ $1.php
RewriteRule ^index-([0-9]+)\.html$ index.php?page=$1
RewriteRule ^lire_commentaire/([0-9]+)/([0-9]+)/lecture.html lirecommentaire.php?id_news=$1&page=$2
RewriteRule ^ajouter/([0-9]+)/commentaire.html commentaire.php?id_news=$1
RewriteRule ^([0-9]+)/([0-9]+)/valider valider.php?id_com=$1&time=$2
RewriteRule ^article/([0-9a-zA-Z_-]+) article.php?titreurl=$1 [L]


et mon debut de code qui permet de récupérer les valeurs GET.
CODE
<?php
$titreurl = $_GET['titreurl'];
$requete = "SELECT news.photo, news.id, news.titre, news.titreurl, news.content, DATE_FORMAT(news.date,\"%d/%m/%Y &agrave; %H:%i\") as date ,
       COUNT(commentaires.id) as count , DATE_FORMAT( MAX(commentaires.date), \"%d/%m/%Y\") as lastcomm
FROM news
    LEFT JOIN commentaires ON (news.id = commentaires.id_news AND commentaires.valider='OUI')
WHERE news.titreurl='$titreurl'
GROUP BY news.id
ORDER by news.id DESC"; ?>



Les liens plus haut sont des liens réels, regardé si il y a des erreurs.

PS: je pense qu'il y a un problème au niveau de l'htaccess mais c'est pas sur.

Merci d'avance.

PS: je suis chez OVH.
Discret
Bonjour,
essaies peut être comme ceci :

tu mets :
CODE
RewriteRule ^ajouter/([0-9]+)/commentaire.html commentaire.php?id_news=$1


remplace par :
CODE
RewriteRule ^ajouter/([0-9]+)\.html$ /commentaire.php?id_news=$1 [L]
leknoppix
C'est pas ce que je veux. Je veux dans le cas de Discret, avoir comme url ajouter/1/commentaire.html et non ajouter/1.html

Mon htaccess actuel est:

CODE
SetEnv PHP_VER 5
RewriteEngine on
RewriteRule ^article_test/([0-9a-zA-Z]+) article_test.php?titreurl=$1


J'utilise ce script pour tester
CODE
<?php
if(empty($_GET['titreurl']))
{
    $_GET['titreurl']='rien';
}
echo 'voila le titreurl: '.$_GET['titreurl'].'<br /><br />';
?>

Le problème qu'il y a c'est que c'est que de cette manière le script marche:
http://leknoppix.fr/article_test.php?titreurl=popo
mais de la méthode
http://leknoppix.fr/article_test/popo
Sa ne marche pas.
leknoppix
problème résolu:
http://forum.ovh.com/showthread.php?t=36412
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.