J’ai un problème étrange avec mes fichiers CSS. Après avoir changé le fichier htaccess à cette
RewriteEngine on RewriteCond %{THE_REQUEST} /eventDetails\.php\?id=([0-9]+)&name=(.+)\sHTTP [NC] RewriteRule ^ /%1/%2? [L,R] RewriteRule ^([^/]+)/([^/]+)/?$ /eventDetails.php?id=$1&name=$2 [L]
mes fichiers css ont cessé de se charger sur TOUTES les pages du site.
Mon dossier public_html contient
Avec les outils de développement Google Chrome, j’ai cette erreur pour les fichiers css
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://something.gr/css/style.css".
et cette erreur pour les fichiers javascript
owl.carousel.js:1 Uncaught SyntaxError: Unexpected token <
Quelques images de l’onglet Network
.
SANS fichier .htaccess
Comme vous pouvez le voir, le Content-Type est text / css .. comme il devrait être
AVEC le fichier .htaccess
Comme vous pouvez le voir ici, le mime.type le renvoie sous forme de texte / html
Ce que j’ai essayé
Premier. après
html tag je suis enternet
Seconde. J’ai essayé de remplacer le fichier .htaccess par celui-ci
RewriteEngine on AddType application/javascript js AddType text/css css RewriteCond %{THE_REQUEST} /eventDetails\.php\?id=([0-9]+)&name=(.+)\sHTTP [NC] RewriteRule ^ /%1/%2? [L,R] RewriteRule ^([^/]+)/([^/]+)/?$ /eventDetails.php?id=$1&name=$2 [L]
Et enfin j’ai vérifié sur mon serveur dédié usr/local/apache/conf/
sur le fichier mime.types que le text/css css
n’est PAS commenté de la même manière que application/javascript js
Je ne sais pas quoi d’autre je devrais faire.
Votre seconde règle
RewriteRule ^([^/]+)/([^/]+)/?$ /eventDetails.php?id=$1&name=$2 [L]
réécrit /css/style.css
en /eventDetails.php?id=css&name=style.css
.
Si vous souhaitez exclure les fichiers existants de cette règle, vous pouvez le préfixer avec
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f
Vous pouvez également changer la première règle pour
RewriteCond %{QUERY_STRING} id=([0-9]+)&name=(.+) RewriteRule ^eventDetails\.php$ /%1/%2? [L,R]
et pour empêcher une boucle de redirection nous insérons au début
RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L]
Bien sûr, vous n’en avez pas besoin si vous conservez la condition existante et THE_REQUEST
contre THE_REQUEST
.
Donc les règles complètes deviennent
RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L] RewriteCond %{QUERY_STRING} id=([0-9]+)&name=(.+) RewriteRule ^eventDetails\.php$ /%1/%2? [L,R] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^/]+)/?$ /eventDetails.php?id=$1&name=$2 [L]