[Résolu] L'URL rewriting affiche l'adresse réelle

Nouveau WRInaute
Bonjour,

Après de longues recherches, je n'ai trouvé aucune solution correspondant à mon problème, j'espère que vous saurez m'aider.

Mon problème est que si la page affichée est bien la bonne, l'adresse qui s'affiche dans la barre d'adresse est l'adresse de la page réelle et non celle du lien demandé.

Exemple:
On demande la page article-8.html, la page affichée est voirpost.php?post=8. Mais, dans la barre d'adresse, on voit voirpost.php?post=8 au lieu de article-8.html.

Le .htaccess et le fichier voirpost.php sont dans un dossier test/, situé à la racine du site.

Voici le contenu de mon .htaccess:
Code:
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^article-([0-9]+)\.html$ /test/voirpost.php?post=$1 [L]

J'ai essayé d'enlever le /test/ devant voirpost.php?post=$1, l'adresse est toujours l'adresse réelle.

Merci par avance.


Solution: Le fichier demandé dans le .htaccess et le fichier sur le serveur n'étaient pas les mêmes...
Fichier demandé: voirpost.php
Fichier sur le serveur: voir_post.php
 
WRInaute passionné
Je pense pas que cela vienne de ton htaccess.
Je pense que c'est un probleme de header dans ton code source.
 
WRInaute impliqué
Salut,

As tu modifié tes liens sur chacune de tes pages ? La réécriture ne se fait pas automatiquement ...

Au cas ou !!

Moutyk
 
Nouveau WRInaute
Oui, j'ai bien modifié mes liens...

Pour le header, il est appelé à l'aide d'un include PHP. Le fichier appelé est situé à la racine du site.

Il comporte un header PHP, la déclaration Doctype, et différentes Métas:
Code:
<? header("Content-type: text/html; charset=ISO-8859-1"); ?>
<!DOCTYPE html 
	PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
	<title>Titre</title>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<meta http-equiv="Content-Script-Type" content="text/javascript" />
	<link rel="stylesheet" media="screen" type="text/css" href="/styles.css" title="Défaut" />
</head>

J'ai essayé de placer tout ça directement dans le fichier voirpost.php, mais ça n'a rien changé.

J'ai également essayé d'enlever le header PHP, mais idem, l'adresse réelle s'affiche toujours.
 
WRInaute discret
bonjour,

Avez vous utiliser le fichier htacces par avant avec votre hebergeur ?
Si le votre code rewriting qui semble correct et les modifications au niveau des pages dynamique sont faites, je pense que le problème ne peut venir que de votre hebergeur.
Car il y a quelque hebergeur qui ne supporte pas le htaccess :roll:
 
WRInaute accro
Bonjour,
enleve "Options +FollowSymlinks " qui peut etre pose le problème, sinon contactes ton hebergeur, car à priori avec ton htaccess cela devrait fonctionner (ce cas se produit lorsque l'on met les adresses absolues dans le htaccess, ce qui n est pas ton cas)
 
WRInaute impliqué
Dans ce cas là il devrait avoir un message d'erreur, à mon avis le problème vient des liens ...

Si tu ecris manuellement l'adresse est ce que cela fonctionne ?

Donne nous un bout de ton code source ou un lien ...

++

Moutyk
 
WRInaute discret
bonjour,
Code:
Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^article-([0-9]+)\.html$ /test/voirpost.php?post=$1 [L]

je pense que vous avez une petit faute au niveau de le nomenclature de votre fichier :wink:

RewriteRule ^article-([0-9]+)\.html$ /test/voirpost.php?post=$1 [L]
http://www.art-dailleurs.com/test/voir_post.php?post=1153358160

il suffit de changer le non de votre fichier dynamique de voir_post.php en voirpost.php
 
Nouveau WRInaute
... Est-il seulement possible d'êre autant idiot...

En effet, en changeant le nom du fichier, ça marche parfaitement.

Par contre, je ne m'explique pas que l'URL rewriting trouve quand même le bon fichier...

En tout cas, je vous remercie tous pour votre précieuse aide!
 
Discussions similaires
Haut