hska Posté 20 Janvier 2005 Posté 20 Janvier 2005 bonsoir à vous tous, je suis entrain de travailler usr le URL rewriting pour mon site, mais ça ne marche pas. Est ce que vous voulez bien jeter un coup d'oeil sur mon script. Merci URL d'origine: -http://localhost/paroisse/sauvegarde/artic...ticle.php?ID=41 URL reécrit: -http://localhost/paroisse/sauvegarde/article/article-41.html le code dans le fichier.htaccess RewriteEngine on RewriteRule ^article-([0-9]+)\.html$ sauvegarde/article/article.php?ID=$1 [L] Monsite s'appelle "paroisse". Le dossier "paroisse" se trouve dans le répertoire "www" de EasyPHP 1.7 J'ai déjà configuré le fichier httpd.conf de Apache. le module mod_rewrite est activé. Merci d'avance
Dan Posté 21 Janvier 2005 Posté 21 Janvier 2005 RewriteEngine onRewriteRule ^article-([0-9]+)\.html$ sauvegarde/article/article.php?ID=$1 [L] Bonjour hska ! Pour obtenir ce que tu donnes en exemple, il faut simplifier la règle... URL d'origine:-http://localhost/paroisse/sauvegarde/artic...ticle.php?ID=41 URL reécrit: -http://localhost/paroisse/sauvegarde/article/article-41.html Les répertoires restent les mêmes alors que la règle que tu utilises crée des répertoires virtuels. Mets ceci dans le fichier .htaccess RewriteEngine onRewriteRule article-([0-9]+)\.html article.php?ID=$1 [L] et cela devrait marcher Dan
Ex-floodeur Posté 21 Janvier 2005 Posté 21 Janvier 2005 personnellement je mettrais plutot RewriteEngine onRewriteRule article-([0-9]+).html article.php?ID=$1 [L]
hska Posté 21 Janvier 2005 Auteur Posté 21 Janvier 2005 Merci Dan et Ex_Flooder Je ne comprends plus rien car j'ai essayé vos 2 script mais ça ne marche pas. avez vous une autre idée? Merci beaucoup les amis. amicalment
Dan Posté 21 Janvier 2005 Posté 21 Janvier 2005 Salut, Dans quel répertoire se trouve le fichier .htaccess ? Et l'as-tu bien envoyé en mode "ASCII" ? Le mode "binaire" ne convertit pas correctement les fins de ligne (CR et LF) Dan
hska Posté 21 Janvier 2005 Auteur Posté 21 Janvier 2005 Le fichier .htaccess se trouve dans le répertoire "PAROISSE" Comment tu fait pour envoyer le fichier .htaccess en mode "ASCII"? Est ce que tu veux bien 'expliqué. Quant à la création mon fichier .htaccess, j'ouvre le bloc note et je colle ces 2 lignes : RewriteEngine on RewriteRule article-([0-9]+)\.html article.php?ID=$1 [L] Et je l'enregistre sous le nom .htacess Merci de ton aide
Dan Posté 21 Janvier 2005 Posté 21 Janvier 2005 Le problème, s'il s'agit d'un fichier créé sous le bloc-note, est que le fichier est au format windows (lignes terminées par carriage-return+linefeed) Alors que sous linux, il ne faut que le linefeed Le mode ASCII se paramètre dans ton client ftp, menus options ou configuration du site. Quand tu dis "ca ne marche pas" tu veux dire quoi ? Une erreur ? Une page 404 ? Une erreur 500 (serveur) ? Dan
hska Posté 21 Janvier 2005 Auteur Posté 21 Janvier 2005 Merci Dan, Quant le teste en local, erreur "fichier introuvable" Je ne comprends plus rien au secours hska
Ex-floodeur Posté 21 Janvier 2005 Posté 21 Janvier 2005 essayes : RewriteRule ^article-([0-9]+).html$ article.php?ID=$1 [QSA,L] ou RewriteRule ^article-([0-9]+).html$ /article.php?ID=$1 [QSA,L]
hska Posté 21 Janvier 2005 Auteur Posté 21 Janvier 2005 Chers amis, J'ai réussit enfin de faire afficher ma page en tapant dans le navigateur : -http://localhost/paroisse/sauvegarde/article/article-41.html A condition de placer le fichier .HTACCESS dans le répertoire "ARTICLE" le fichier .htaccess contient les code suivant : RewriteEngine on RewriteRule ^article-([0-9]+)\.html$ article.php?ID=$1 [L] ---------------------------------------------- J'ai tout testé en plaçant le fihiers .HTACCESS à la RACINE DU SITE (càd dans le répertoire "PAROISSE" placé dans "WWW" ) avec les différents codes suivants. mais ça ne marche pas: "erreur: fichier introuvable" - RewriteEngine on RewriteRule ^article-([0-9]+)\.html$ -http://localhost/paroisse/sauvegarde/artic....php?ID=$1 [L] - RewriteRule ^article-([0-9]+)\.html$ paroisse/sauvegarde/article/article.php?ID=$1 [L] - RewriteRule ^article-([0-9]+)\.html$ sauvegarde/article/article.php?ID=$1 [L] - RewriteRule ^article-([0-9]+)\.html$ article/article.php?ID=$1 [L] - RewriteRule ^article-([0-9]+)\.html$ article.php?ID=$1 [L] ------------------------------------------------------------------------------ Du coup, je trouve que cette méthode est un peu lourd car si j'ai 10 répertoires différents: -http://localhost/paroisse/sauvegarde/artic...DUITS.php?ID=20 -http://localhost/paroisse/sauvegarde/artic...GORIE.php?ID=10 - - ----------ainsi de suite. Je dois alors créer 10 fichiers .HTACCESS différents et les placer dans ces 10 répertoires différents pour que ça marche? Je pense qu'il doit y avoir une solutions plus simple non? Comment faîtes vous? Merci pour toutes vos contributions. HSKA
Ex-floodeur Posté 21 Janvier 2005 Posté 21 Janvier 2005 essaye avec : - RewriteRule ^/paroisse/sauvegarde/article/article-([0-9]+)\.html$ /paroisse/sauvegarde/article/article.php?ID=$1 [L]
Dan Posté 27 Janvier 2005 Posté 27 Janvier 2005 Bonjour, Dans tes règles: RewriteRule ^article-([0-9]+)\.html$ http://localhost/paroisse/sauvegarde/artic....php?ID=$1 [L] RewriteRule ^article-([0-9]+)\.html$ paroisse/sauvegarde/article/article.php?ID=$1 [L] RewriteRule ^article-([0-9]+)\.html$ sauvegarde/article/article.php?ID=$1 [L] RewriteRule ^article-([0-9]+)\.html$ article/article.php?ID=$1 [L] RewriteRule ^article-([0-9]+)\.html$ article.php?ID=$1 [L] l'url transmise au moteur de réécriture ne commence pas par "article" si le fichier se trouve dans un répertoire... c'est donc le ^ en début de ligne qui gêne Mais il est logique de mettre le fichier .htaccess dans le répertoire qui contient les URLs à réécrire, sinon tous les fichiers demandés sur le site passeront par ces règles, en vain !
xpatval Posté 27 Janvier 2005 Posté 27 Janvier 2005 Salut, Ton site est-il défini en temps que virtual host, dans la conf apache ? xpatval
Dan Posté 27 Janvier 2005 Posté 27 Janvier 2005 Une règle qui devrait fonctionner en local et en remote est: RewriteRule (.*)article-([0-9]+)\.html $1article.php?ID=$2 Elle aurait au moins l'avantage de garder le même répertoire... et pourrait de ce fait être placée dans le .htaccess de la racine du site en traitant les répertoires automatiquement.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant