2011-12-13 7 views
2

je donne les résultats suivants dans mon .htaccess qui est:URL propre .htaccess et les chemins relatifs

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ /index.php?type=cat&id=$1 [QSA,L] 
RewriteRule ^page/([^/]+)$ /index.php?type=page&name=$1 

Cela semble fonctionner bien, mais des chemins relatifs à des images et des fichiers à l'intérieur de devenir css index.php cassé dans le deuxième cas (Page). n'a pas fonctionné. Dans le second cas, toutes les images pointent vers la page/images/au lieu de l'image/

En dehors du codage en dur du chemin d'accès aux images, existe-t-il un autre moyen de résoudre ce problème?

images, css, js dossiers sont situés dans la racine. Voici comment la racine ressemble

.htaccess 
index.php 
images/ 
css/ 
js/ 
+0

Quels sont les dossiers pour les images, js, css etc ...? –

Répondre

5

directives RewriteCond appliquent uniquement à la règle suivante directement them.Try follwing le

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ /index.php?type=cat&id=$1 [QSA,L] 

RewriteCond %{REQUEST_URI} !\.(css|js|jpe?g|gif|png)$ [NC] 
RewriteRule ^page/([^/]+)$ /index.php?type=page&name=$1 [L] 

#rewrite requests for page/images to images 
RewriteCond %{REQUEST_URI} ^/page(/images/.+)$ [NC] 
RewriteRule . %1 [L] 

EDIT. Modifié pour réécrire la page/images en images

+0

ne fonctionnait pas. Dans le second cas, toutes les images pointent vers la page/images/au lieu de l'image/ –

+0

édité de sorte que la deuxième règle ne s'applique pas à css etc. Vous pouvez ajouter d'autres ressources si nécessaire –

+0

Ne fonctionne toujours pas. –