Aller au contenu

reecriture d'url


Sujets conseillés

Bonjour,

Je me prend la tête sur un fichier htaccess. qui fonctionne trés bien chez un hébergeur x en mutualisé, mais qui refuse complètement de s'exécuter sur un autre serveur en semi-dédié. L'hébergeur m'assure que cela provient de mon fichier, et je ne vois pas du tout comment je pourrai le vérifier...

Voici le code:

ErrorDocument 401 http://www.site.com/repertoire/404.php
ErrorDocument 403 http://www.site.com/repertoire/404.php
ErrorDocument 404 http://www.site.com/repertoire/404.php
RewriteEngine On
Options -Indexes
Options +FollowSymlinks
RewriteRule ^http://www.site.com/repertoire/annonce-(.+)\.html$ http://www.site.com/repertoire/annonce.php?libelle=$1 [L]

le fichier est bien prix en compte par le serveur, puisque la page d'erreur remonté en cas de fausse url est bien le bon fichier 404.php, par contre la réécriture ne fonctionne pas.

J'ai vérifié sur php.info, le mode rewriting est bien activé.

Est-ce que quelqu'un voit l'erreur ?

Merci beaucoup :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

la première partie d'une RewriteRule DOIT être un chemin relatif (au répertoire courant, ou à la RewriteBase) et non une URL complète...

La seconde en revanche, PEUT être une URL, mais dans ce cas la réécriture devient une redirection...(sinon cela signifierait qu'il serait possible de masquer l'URL d'un site et présenter son contenu). Généralement c'est aussi un chemin relatif...surtout dans ton cas, tu semble vouloir atteindre des fichiers étant hébergés sur le même domaine, donc à priori sur le même espace d'hébergement.

Essaie peut-être ceci, dans le répertoire "repertoire", place ce même fichier .htaccess mais en modifiant la RewriteRule ainsi :

RewriteRule ^annonce-(.+)\.html$ annonce.php?libelle=$1 [L]

Tu seras peut être amené à mettre le chemin complet vers tes fichiers...cela dépend de ta configuration Apache, dans ce cas à toi d'ajouter le répertoire avant le nom de fichier dans la règle de réécriture.

Bonne continuation.

Lien vers le commentaire
Partager sur d’autres sites

Oh ben c'était tout bête comme d'habitude...

le bon code est:

RewriteRule ^annonce-(.+)\.html$ /annonce.php?libelle=$1 [L]

c'est juste le / qui manquait devant annonce.php... sans ça marche pas, avec ça marche

Bonne journée :)

Lien vers le commentaire
Partager sur d’autres sites

Oh ben c'était tout bête comme d'habitude...

le bon code est:

RewriteRule ^annonce-(.+)\.html$ /annonce.php?libelle=$1 [L]

c'est juste le / qui manquait devant annonce.php... sans ça marche pas, avec ça marche

Bonne journée :)

C'est que tu es en mutualisé chez OVH, non ? ;)

Lien vers le commentaire
Partager sur d’autres sites

Et donc, de rien... c'est "tout bête", mais ça tombe pas du ciel quand même. Ce n'est pas que je sois en manque de mercis, mais c'est une question de politesse.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...