Si un serveur héberge les domaines suivants: -
http://exampleA.com
http://exampleB.com
http://exampleC.com
Comment est-il possible d'activer mod_pagespeed
uniquement pour les domaines http://exampleA.com
et http://exampleC.com
mais pas http://exampleB.com
?
J'ai lu sur le documentation pour les domaines mais je ne suis pas sûr de pouvoir comprendre si cela est possible ...
J'ai essayé d'insérer les éléments suivants dans pagespeed.conf
et de redémarrer Apache, mais mod_pagespeed
s'applique toujours à tous les domaines ...
ModPagespeedDomain http://exampleA.com
ModPagespeedDomain http://exampleC.com
Après avoir fouillé un peu et joué avec cela, j'ai réussi à le comprendre et j'ai maintenant un scénario de travail pour mod_pagespeed
qui ne fonctionne que sur des domaines spécifiques (vhosts) sur le même serveur.
Ma configuration est basée sur une version Apache 2 de CentOs 6 qui exécute Parallels Plesk Panel.
Créez un fichier de configuration page par page distinct et stockez-le dans un emplacement qui ne sera pas a) automatiquement écrasé ou b) chargé automatiquement (c'est-à-dire dans les répertoires conf
ou conf.d
existants). Dans mon cas, j'ai créé /etc/httpd/myconf
et nommé le fichier vhosts-pagespeed.conf
.
Ce fichier de configuration contiendra la configuration mod_pagespeed
que vous souhaitez que des domaines spécifiques utilisent (vous pouvez en créer autant que vous le souhaitez). Par exemple, le mien est comme: -
#https://developers.google.com/speed/pagespeed/module/configuration#virtual-hosts
<IfModule pagespeed_module>
ModPagespeed on
AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
ModPagespeedFileCacheInodeLimit 500000
ModPagespeedAvoidRenamingIntrospectiveJavascript on
ModPagespeedLibrary 105527 ltVVzzYxo0 //ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js
ModPagespeedLibrary 92501 J8KF47pYOq //ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js
ModPagespeedLibrary 141547 GKjMUuF4PK //ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js
ModPagespeedLibrary 43 1o978_K0_L http://www.modpagespeed.com/rewrite_javascript.js
ModPagespeedEnableFilters extend_cache
ModPagespeedEnableFilters rewrite_javascript
ModPagespeedEnableFilters rewrite_css
ModPagespeedEnableFilters combine_javascript
ModPagespeedEnableFilters combine_css
ModPagespeedEnableFilters inline_javascript
ModPagespeedEnableFilters inline_css
ModPagespeedEnableFilters insert_img_dimensions
ModPagespeedEnableFilters move_css_to_head
ModPagespeedEnableFilters lazyload_images
ModPagespeedEnableFilters rewrite_images
ModPagespeedEnableFilters outline_css
ModPagespeedEnableFilters flatten_css_imports
ModPagespeedEnableFilters inline_import_to_link
ModPagespeedEnableFilters local_storage_cache
ModPagespeedEnableFilters collapse_whitespace
ModPagespeedEnableFilters elide_attributes
ModPagespeedEnableFilters remove_comments
ModPagespeedDisableFilters rewrite_javascript,combine_javascript
ModPagespeedModifyCachingHeaders off
ModPagespeedDomain *
<Location /mod_pagespeed_beacon>
SetHandler mod_pagespeed_beacon
</Location>
<Location /mod_pagespeed_statistics>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_statistics
</Location>
<Location /mod_pagespeed_console>
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_console
</Location>
<Location /mod_pagespeed_message>
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_message
</Location>
<Location /mod_pagespeed_referer_statistics>
Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_referer_statistics
</Location>
</IfModule>
Vous devrez ensuite désactiver le mod_pagespeed
global et inclure uniquement la configuration de la vitesse de transmission spécifique à l'hôte vhost sur les domaines pour lesquels vous souhaitez activer le mod_pagespeed
.
Accédez à /var/www/vhosts/domain.com/conf
et créez le fichier vhost.conf
avec l'include (c'est tout ce que ce fichier doit contenir): -
Include /etc/httpd/myconf/vhosts-pagespeed.conf
Désactivez le code global /etc/httpd/conf.d/pagespeed.conf
en le modifiant comme suit: -
ModPagespeed off
Puis redémarrez le serveur: -
service httpd restart
Maintenant, vérifiez que mod_pagespeed
est activé sur le domain.com
et que vous avez étendu vhost pour inclure la config personnalisée pagespeed.
Si cela ne fonctionne pas, vous devrez peut-être reconfigurer le vhost pour domain.com
avec quelque chose comme:
/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=domain.com
Si vous pouvez utiliser des fichiers .htaccess, vous pouvez simplement définir ModPagespeed off
dans le httpd.conf
, puis le faire à la racine .htaccess
pour tout domaine sur lequel vous souhaitez l'activer:
<IfModule pagespeed_module>
ModPagespeed on
</IfModule>
Si vous utilisez Apache 2.4+, vous pouvez même utiliser la directive <If>
pour les cas où le même fichier .htaccess
est utilisé pour plusieurs domaines, ou par exemple si vous avez le .htaccess
dans un fichier Git. référentiel et vous utilisez le même pour les sites de production et de développement mais vous voulez ModPagespeed on
uniquement pour le site de production:
<IfModule pagespeed_module>
<If "req('Host') == 'www.example.com'">
ModPagespeed on
</If>
<Else>
ModPagespeed off
</Else>
</IfModule>