Page 1 sur 1

Probleme d'URL Rewriting

Posté : 05 août 2008, 15:23
par amoiraud
Bonjour à tous,

Voila j'ai un petit souci, je viens de terminer un site pour une association et j'ai créé un .htaccess avec RewriteRule afin d'améliorer le référencement, voici le code du .htaccess (pour l'instant j'ai mis que la page news simplement pour tester) :

Code : Tout sélectionner

RewriteEngine On RewriteRule ^news/toutes_les_news.html$ index.php [QSA,L] RewriteRule ^news/le_site.html$ index.php?page=News&cat=Le Site [QSA,L] RewriteRule ^news/gymnastique.html$ index.php?page=News&cat=Gymnastique [QSA,L] RewriteRule ^news/tir.html$ index.php?page=News&cat=Tir [QSA,L] RewriteRule ^news/karate.html$ index.php?page=News&cat=Karaté [QSA,L] RewriteRule ^news/veterans.html$ index.php?page=News&cat=Veterans [QSA,L] RewriteRule ^news/arts_plastiques.html$ index.php?page=News&cat=Dessin [QSA,L]
Lorsque j'entre l'url dans mon navigateur : http://monsite.ifrance.com/news/karate.html il m'affiche :
Multiple Choices

The document name you requested (/news/karate.html) could not be found on this server. However, we found documents with names similar to the one you requested.

Available documents:

- /News.php/karate.html (common basename)
- /news.css/karate.html (common basename)
Y à t'il un problème de syntaxe dans mon .htaccess ?

Merci d'avance.

Adrien

Posté : 05 août 2008, 15:39
par Sékiltoyai
Où est situé ton .htaccess ?
Quelle est la racine de ton arborescence web ?

Posté : 05 août 2008, 15:42
par amoiraud
Mon .htaccess est à la racine de mon site tout comme les pages php, seul les images, le flash et les avatars des membres sont dans des dossiers

Posté : 05 août 2008, 15:44
par Victor BRITO
Essaie de précéder tous les index.php par un / (certains hébergeurs, en effet, exigent que l'URL réécrite indique le chemin depuis la racine du site). Ou bien ajoute un RewriteBase / avant tes règles de réécriture.

Posté : 05 août 2008, 15:47
par Sékiltoyai
Essaye en enlevant le $ final, et si ça ne change rien, en ajoutant un / après chaque ^...
Et sinon active le RewriteLog :

Code : Tout sélectionner

RewriteLog chemin_vers_le_fichier_de_log RewriteLogLevel 5

Posté : 05 août 2008, 15:49
par Sékiltoyai
Essaie de précéder tous les index.php par un / (certains hébergeurs, en effet, exigent que l'URL réécrite indique le chemin depuis la racine du site). Ou bien ajoute un RewriteBase / avant tes règles de réécriture.
Comment est-ce qu'ils l'"exigent" ? Je n'ai pas trouvé de directive apache le faisant, ils modifient les sources du module ?

Posté : 05 août 2008, 15:49
par amoiraud
Essaie de précéder tous les index.php par un / (certains hébergeurs, en effet, exigent que l'URL réécrite indique le chemin depuis la racine du site). Ou bien ajoute un RewriteBase / avant tes règles de réécriture.
J'ai essayé des 2 façons mais ça marche toujours pas, j'ai lu sur un autre site que certains hébergeurs bloquaient certaines fonctions des .htaccess dont l'URL Rewriting, vous pensez que c'est le cas pour Ifrance ?

Posté : 05 août 2008, 15:53
par Victor BRITO
Chez bon nombre d'hébergeurs (notamment les gratuits), le module Rewrite_mod d'Apache est désactivé et l'on ne peut donc réécrire les URLs.

Posté : 05 août 2008, 15:53
par Sékiltoyai
Essaye pour vérifier :

Code : Tout sélectionner

RewriteRule .* http://www.google.fr/ [L]

Posté : 05 août 2008, 15:54
par amoiraud
Chez bon nombre d'hébergeurs (notamment les gratuits), le module Rewrite_mod d'Apache est désactivé et l'on ne peut donc réécrire les URLs.
D'accord ça expliquerait donc pourquoi ça ne marche toujours pas même avec ce que m'a dit Sékiltoyai.
Merci quand même à vous 2

Posté : 05 août 2008, 15:57
par Victor BRITO
Le mieux, pour en avoir le cœur net, est de mettre en ligne à la racine du site un fichier test.php (contenant un peu de contenu) et le .htaccess suivant

Code : Tout sélectionner

RewriteEngine on RewriteRule ^test\.html$ test.php [L]
et de taper l'URL http://tonsite.com/test.html sur ton navigateur préféré. En règle générale, s'il y a une erreur 404, c'est que l'hébergeur ne permet pas la réécriture d'URL.

Posté : 05 août 2008, 15:59
par amoiraud
Essaye pour vérifier :

Code : Tout sélectionner

RewriteRule .* http://www.google.fr/ [L]
J'ai essayé et je tombe sur mon site, je pense que maintenant je suis fixé :wink: