En essayant de résoudre un problème sur mon site Web, une recommandation concernant mon fichier .htaccess que j'ai reçu a été
Tout d'abord, veuillez vérifier sur le serveur tous les différents modules s'ils sont activés, et une fois qu'ils le sont, supprimez le
<IfModule
...></IfModule>
blocs. Ils mettent une pression inutile sur votre serveur.
Je ne sais pas où dois-je chercher pour voir si les modules sont actifs - est-ce dans le CMS? dans le fichier httpd.conf? dans les fichiers sur mon serveur? dois-je faire une légère modification dans le .htaccess comme test? Mais plus que cela, la recommandation elle-même ne serait-elle pas appropriée? Merci.
Voici le fichier .htaccess pour lequel la recommandation a été faite:
Options +FollowSymLinks -MultiViews
RewriteEngine on
AddHandler x-httpd-php .html .htm
<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>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
RewriteCond %{HTTP_HOST} !^(www\.)?foo\.com$
RewriteRule .? http://foo.com%{REQUEST_URI} [R=301,L]
#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
</IfModule>
# END WordPress
Réponses:
Si PHP est exécuté en tant que module apache, vous pouvez utiliser la
phpinfo()
fonction. Recherchez la section Apache (généralementapache2handler
) et recherchez la ligne avec "Modules chargés":la source
En supposant que vous voulez dire les modules apache, vous pouvez exécuter ce qui suit pour répertorier les modules que vous avez chargés:
la source
-bash: apachectl: command not found
sob :(find / apachectl | grep apachectl
ModSecurity: Failed to open debug log file: /var/log/apache2/modsec_debug.log
puiscat: /var/log/apache2/modsec_debug.log: Permission denied
sanglot :(Si vous n'avez pas ces modules chargés, il ne semble rien casser sur votre site, il n'aura tout simplement pas les meilleurs paramètres de contrôle du cache. Laissez donc de côté les modules if car vous ne pouvez même pas les charger s'ils ne sont pas chargés. Le site Web Apache dit
http://httpd.apache.org/docs/2.0/mod/core.html#ifmodule
la source
À propos de votre requête: vous devez vérifier si ces modules sont activés sur le serveur, et s'ils le sont, vous pouvez supprimer la condition if de htaccess:
Par exemple, si le module mod_expires.c est activé, vous pouvez supprimer le
<IfModule mod_expires.c></IfModule>
et vous ne conserverez que cette partie:donc vous ne vérifiez plus pour voir si ce module est activé parce que vous l'avez déjà fait.
la source
1) il suffit d'ajouter à
.htaccess
2) rafraîchissez votre site Web
3) si vous êtes hors jeu maintenant,
mod_expires
est actif4) supprimez
deny from YOUR.IP
deifModule mod_expires.c
la source