2011-01-12 5 views
0

J'ai un problème avec les règles de réécriture de Mod et je pense que nous pouvons m'aider.
Mon .htaccess:mod_rewrite/casse les fichiers JS et CSS

RewriteEngine On 
RewriteRule ^img/(.+)$ http://www.dejwid.pl/demo/img/$1 [L] 
RewriteRule ^(.+)$ index.php?p=$1 

dans index.php Je divise $ _GET [ 'p'] en utilisant '/':

$params = explode('/', $_GET['']); 

Mon problème:
si j'utiliser des images '/' , les fichiers js, les fichiers css ne fonctionnent pas.
Je pense que le serveur ne peut pas le trouver parce que j'utilise '/'.
Si j'utilise ',' ou '-', tout fonctionne bien.
Cependant, je besoin d'être abordés comme ceci: domaine/blog/123/Some-Titre

Répondre

2

Votre règle qui correspond^(+.) $ Est correspondant probablement sur votre css et js fichiers.

Il est courant de mettre ces deux conditions devant une règle, pour éviter que la règle de correspondance lorsque l'URL est un vrai fichier, comme un fichier CSS ou js:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
+0

Il ne travail: \ mais fonctionne: /img/file.jpg :) – Dejwid

+0

@Dejwid, je suis désolé mais je ne suis pas sûr de ce qui ne fonctionne pas. Lorsqu'un fichier css est récupéré, votre fichier index.php est-il appelé à la place? Ou est votre problème avec les valeurs de $ params? – bmb

Questions connexes