Bonjour à tous.

Je viens ici pour tenter de trouver une réponse à un petit soucis dont j'ai du mal à me débarasser.

Je viens de créer dans un .htaccess une petite série de règles de rewriting. Voici mon fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
# Enable the rewriting engine
RewriteEngine on
 
 
# Conditions
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.css)$
RewriteCond %{REQUEST_URI} !(.js)$
 
# Rewrite all requests to our index.php (engine)
RewriteRule ^(.*)$ index.php [L]
En gros, je cherche à rediriger toutes les pages vers index.php qui contient un appel à mon moteur de site pour générer le rendu. Le comportement final est bien celui auquel je m'attend.

Exemple:

Si je me rend aux adresses 'site.com/', 'site.com/go', 'site.com/go/Acceuil', les URLs restent tels quelles dans le navigateur et je suis bien redirigé dans mon code sur la page /index.php.

Le problème vient lors des inclusions de fichier .css, .js, etc ... Si j'essaye d'inclure '/images/test.css'. Dans le cas de :

- 'site.com' => Ok ! L'inclusion se fait bien.
- 'site.com/go' = > Ok ! L'inclusion se fait bien.
- 'site.com/go/Acceuil' = > L'inclusion ne se fait pas.
- Si je monte en hierarchie ça ne marche pas non plus.

Est ce que quelqu'un à une solution à me proposer ? Est-il possible de forcer ses inclusions depuis la racine ? Je suppose qu'il est possible de gérer cela coté Apache sans devoir gérer sa dans mon code.

Merci pour votre aide