Page 1 sur 1
URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 02:11
par fabrice88250
Bonjour j'essaid e mettre en place un system urlrewriting.
je souhaite réecrire les adresses du type :
http://monsite.com/pages/chambre-description.php?id=X
en
http://monsite.com/pages/chambre-descri ... bre-X.html
j'ai donc créer un .htacess que j'ai mis sur mon serveur. il contiend :
Options +FollowSymLinks
RewriteEngine on
RewriteRule -id-(.*)\.html chambre-description.php?id=$1
le probleme est que mes url ne sont pas réécrites.
Pourriez vous m'aider a réecrire ou corriger mon fichier ?
Merci
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 09:36
par Victor BRITO
D'abord, assure-toi que ton hébergeur prend en charge la réécriture d'URL.
Ensuite, corrige ton .htaccess comme suit :
Code : Tout sélectionner
Options +FollowSymLinks
RewriteEngine on
# Ajoute la ligne RewriteBase si nécessaire
RewriteBase /
RewriteRule ^chambre-description/chambre-(.+)\.html$ /pages/chambre-description.php?id=$1
Enfin, je te conseille de placer ton .htaccess à la racine de ton site.
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 10:57
par fabrice88250
bonjour et merci. j'ai corrigé mon .htaccess comme tu me la conseillé mais sa ne fonctionne toujours pas.
ma page a réecrir se trouve dans un repertoire pages (
http://site.fr/pages/chambre-description.php?id=X)
j'ai mis mon .htaccess a la racine de mon site qui contiend le repertoire page.
j'ai suivi plusieurs tutos et fais plusieurs essais mais sa ne fonctionne toujours pas.
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 13:30
par Victor BRITO
As-tu essayé en omettant la ligne RewriteBase ?
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 14:05
par fabrice88250
je viens d'essayé a l'instant. sa ne fonctionne toujours pas.
dans mon navigateur si je rentre
http://site.fr/pages/chambre-description.php?id=X j'ai bien ma page qui s'affiche (mais non réécrite) etsi je rentre
http://site.com/pages/chambre-descripti ... bre-X.html (qui devrait etre le nouvel url) j'ai une erreur 404.
mon fichier htaccess est a ma racine et c'est :
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^chambre-description/chambre-(.+)\.html$ /pages/chambre-description.php?id=$1
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 17:18
par Victor BRITO
Essaie en ajoutant un [L] à la fin de la ligne RewriteRule.
Sinon, essaie de placer un fichier test.php à la racine de ton site et colle le .htaccess suivant (toujours à la racine du site) :
Code : Tout sélectionner
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^test\.html$ /test.php [L]
Si l'URL en /test.html renvoie une erreur 404, il y a alors de fortes chances que ton hébergeur ne prenne pas en charge le mod_rewrite d'Apache (module qui permet la réécriture d'URL).
Re: URLrewriting ne fonctionne pas
Posté : 18 déc. 2009, 19:32
par fabrice88250
je viens de mettre la page test.php comme tu me l'as indiqué et sa fonctionne. Enfin je pense.
si je vais sur la page test.php c'est ok j'ai bien ma page
si je rentre l'url test.html c'est ok j'ai bien ma page également.
je refais des essai pour mes url a réécrire et sa a l'aire de fonctionner.
le probleme maintenant et que les images que j'ai dans les pages réécrites n'apparaissent plus.
Re: URLrewriting ne fonctionne pas
Posté : 19 déc. 2009, 21:54
par Victor BRITO
le probleme maintenant et que les images que j'ai dans les pages réécrites n'apparaissent plus.
Étant donné que ta réécriture d'URL crée des répertoires virtuels, il est possible que le chemin indiqué pour tes images ne soit plus correct. Le mieux, pour y remédier, est d'indiquer le chemin à partir de la racine du site, c'est-à-dire en commençant par un / (ceci est également valables pour les liens).
Re: URLrewriting ne fonctionne pas
Posté : 20 déc. 2009, 17:22
par fabrice88250
Merci Victor, effectivement c'était un problème de chemin. Les réécritures d'URL fonctionnent donc maintenant a merveille.
Merci