web-dev-qa-db-fra.com

CSS non chargé en omettant www. partie de l'URL

J'ai le site web suivant: www.bibaboegifts.be .

  • Lorsque vous indiquez l'URL https://www.bibaboegifts.be , le fichier CSS est chargé.
  • Cependant, lorsque vous indiquez l'URL https://bibaboegifts.be ( sans la partie www. ), le CSS n'est pas chargé. Seul le contenu est affiché, mais ma mise en page n'est pas appliquée.

Une idée de pourquoi c'est le cas et comment cela peut être résolu?

1
BarrieO

Cela peut se produire pour plusieurs raisons - dans votre cas, il semble que vous utilisiez un plug-in de mise en cache qui ne reconnaît que les liens www. Je suppose que si vous désactiviez la mise en cache, vous n'auriez pas ce problème, mais vous perdriez alors les avantages de la mise en cache.

Il est recommandé (avec ou sans mise en cache) d’ajouter des redirections pour que seule la version www ou non www de votre site Web soit visible. Vous pouvez ajouter une ou deux lignes dans votre fichier .htaccess pour appliquer celui que vous préférez - ce qui dans votre cas est probablement www.

RewriteCond %{HTTP_Host} !^www\. [NC]
RewriteCond %{HTTP_Host} ^(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L]

Ces 3 lignes indiquent, si quelqu'un tente d'accéder à votre site sans "www." dans l'URL, le serveur doit toujours les rediriger vers le "www." version de cette URL. Cela aide les moteurs de recherche à savoir quelle version de votre site vous souhaitez indexer. Si vous utilisez des plugins SEO qui ajoutent des URL canoniques, vous pourrez renforcer la version unique et unique de chaque page à reconnaître.

1
WebElaine

Comme vous l'avez mentionné, vous avez déjà désactivé le plug-in de mise en cache et vérifié. Donc, pas sûr de ce qui cause ce problème. Mais, à ma connaissance, votre site Web ne doit être ouvert qu'avec ou sans www (aucun de ceux-ci).

Donc, j'utilise toujours le code ci-dessous dans mon fichier .htaccess pour rediriger les URL non www vers les URL www .

RewriteEngine On
RewriteCond %{HTTP_Host} ^yourdomain.com [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]

Ainsi, lorsque l'utilisateur tente d'accéder au site Web sans www, il sera automatiquement redirigé vers une URL avec www.

Peut-être que cela peut vous aider à résoudre votre problème.

1
dhirenpatel22