Url rewriting

Résolu/Fermé
Tartopom - 21 déc. 2009 à 13:11
 Tartopom - 21 déc. 2009 à 14:29
Bonjour,

je fais appel à vous aujourd'hui car j'ai un petit souci.
Pour remettre dans le contexte :
J'ai un site en local utilisant easyphp 3.0 et apache 2.
Je cherche à réécrire les URL.
J'ai donc activé le mod_rewrite, j'ai testé avec un page basique, cela fonctionne bien.
J'ai donc testé avec mes pages et là j'ai un soucis.

En fait toutes mes pages sont incluses dans index.php.
On va prendre un exemple simple :
j'ai ma page offre.html qui se trouve dans mon_site/pages/presentation/offre.html
J'y accède de la façon suivante :
<a href="index.php?cat=presentation&page=offre">
et dans index.php : include('pages/'.$categorie.'/'.$page.'.html');

Et voici mon .htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^pipou/b\.html$ index.php?cat=presentation&page=offre_soins [L]

Et si je vais sur /pipou/b.html j'accède bien à ma page mais mon CSS et plusieurs autres choses se sont faites la malle.
Et c'est là que je sèche.

Pourriez-vous m'aider s'il vous plaît ?


Bonne journée,

Tartopom

2 réponses

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
21 déc. 2009 à 13:24
Tu as probablement laissé les URL du CSS, des images et autres en relatif, sans les faire réécrire.
par exemple :
<img src="images/mon_image.jpg" alt=""/>
Avec ça ton navigateur ira chercher l'image /pipou/images/mon_image.jpg qui n'existe pas (fais un clic droit sur ce qui est censé être l'image puis "afficher l'image", tu verra l'URL de l'image ... qui n'existe pas).

C'est ça l'inconvénient de faire de faux dossiers avec l'URL rewriting :)

Il faut soit que tu réécrives le dossier complet, ou chaque dossier ou chaque type (voire chaque fichier mais c'est moche), soit que tu utilises des URL absolues, soit que tu désactives la réécriture pour certains types (jpg, css, ...)
0
Nickel, c'était bien le souci :)
Merci beaucoup et bonne après-midi,

Tartopom
0