2013-05-14 4 views
-3

J'ai vu beaucoup de problèmes similaires à ce que je vis, mais j'ai déjà suivi toutes les solutions que j'en ai et il semble que je ne puisse pas le faire fonctionner sans conflits.conflits CSS et l'image sur. htaccess rewriterule

appelle HTML CSS:

<head> 
<base href="http://localhost/smartwavedev.sw_apiwebtool/" /> 
<link rel="stylesheet" href="assets/css/main.css" type="text/css"> 
<link rel="stylesheet" href="assets/css/login.css" type="text/css"> 
<link rel="stylesheet" href="assets/css/dashboard.css" type="text/css"> 
<link rel="stylesheet" href="assets/css/bootstrap/bootstrap.min.css" type="text/css"> 
<link rel="stylesheet" href="assets/css/docs.css" type="text/css"> 
</head> 

.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^/]+)$ $1.php 
RewriteRule ^([^/]+)/([^/]+)$ $1.php?page=$2 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ $1.php?page=$2&nav=$3 

Merci pour l'aide!

+1

Vous avez oublié de poser une question. "Il ne peut pas fonctionner sans conflits" n'en est pas un - quels conflits, ce qui ne va pas, que pensez-vous du problème? –

+0

les fichiers css et image ne sont pas accessibles. –

Répondre

1

tout d'abord cette condition est malformé:

RewriteCond %{REQUEST_FILENAME}\.php -f 

Il devrait juste être:

RewriteCond %{REQUEST_FILENAME} !-f 

Maintenant, il va déclencher sur tous les fichiers. Ensuite, un RewriteCond ne correspondra que pour le premierRewriteRule le suivant. Donc, la troisième règle avec les 3 éléments correspond toujours (et donc bloque) vos fichiers CSS. Vous devez soit répéter les lignes RewriteCond pour toutes les règles, soit implémenter une meilleure solution. Pour votre cas, je vous recommande vraiment laisser tomber tout le concept de la réécriture et le remplacer par:

FallbackResource index.php 

Et puis parse $_SERVER['REQUEST_URI'] dans le fichier index.php.

+0

Merci. Je l'ai résolu en répétant la réécriture avant toutes les règles. –