Bonjour, j’essaie d’optimiser mon site Web energyshop.se pendant plusieurs jours mais je n'arrive pas à le faire. Voici à quoi ressemble mon .htaccess:
Header unset ETag
FileETag None
# Hantera och redirecta användare till en gemensam error-sia
ErrorDocument 404 /psych/cgi-bin/error/error?404
# BEGIN Compress text files
<ifModule mod_deflate.c>
<filesMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>
# END Compress text files
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|form)$">
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>
</ifModule>
# END Cache-Control Headers
# BEGIN Turn ETags Off
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
# END Turn ETags Off
# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
# END Remove Last-Modified Header
# BEGIN Gzip Compression
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
# END Gzip Compression
AddDefaultCharset UTF-8
DefaultLanguage sv-SE
# Force “File Save As” Prompt
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4 .rar
Mais le problème est que quand je lance des tests, ils disent toujours que je contient? à court, plus propre.
Certaines fonctionnent bien, mais pas les grandes choses que j'ai mentionnées. Si je cherche un fichier php nouvellement créé contenant uniquement un fichier, puis l'exécute dans un navigateur, il me dit en fait que (sur deux plans): _SERVER ["HTTP_ACCEPT_ENCODING"] gzip, deflate, sdch et _ENV ["HTTP_ACCEPT_ENCODING "] gzip, deflate, sdch, donc je suppose qu’il est pris en charge mais je n’ai pas créé le bon code ou quelque chose du genre.
Quelqu'un qui a résolu ce genre de problèmes avant?
Je vous conseille de ne pas vous inquiéter de l'ajout d'un grand nombre de règles .htaccess permettant de forcer la mise en cache du navigateur et de définir des valeurs de délai d'expiration correctes pour les actifs. Si vous téléchargez le plugin W3 Total Cache, il gère l’ajout de tous ces éléments dans votre fichier .htaccess.
Si vous préférez ne pas installer le plugin de mise en cache, j'ai pris la liberté d'ouvrir mon propre fichier .htaccess de sites, de copier les règles d'optimisation et de les mettre dans un Github Gist pour vous.
Collez tout le code dans le Gist en haut de votre fichier .htaccess avant le commentaire "# BEGIN Wordpress".
Le Gist peut être vu ici .
Je recommande d'utiliser cette base comme base de départ, elle est bien commentée et créée par de très bons développeurs. Il vous suffit de le coller sous le code par défaut créé par WordPress .htaccess
, il vous suffit de commenter # L'option 1 réécrit (ligne 365 à 369).
Cela fait partie du framework HTML5 Boilerplate
https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess