提问人:ColossalYouth 提问时间:9/29/2020 最后编辑:ColossalYouth 更新时间:10/14/2020 访问量:325
GZIP仅在指定完整文件路径时压缩文件 - 不会压缩根目录
GZIP only compresses files when full file path specified - won't compress root
问:
如果我在.htaccess中包含以下内容,GZIP将仅在指定文件的完整路径时压缩文件:
RewriteRule ^ index.php [L]
但是上面的重写是必要的,以使我的CMS正常运行。
例如:
https://karenkingston.co.uk 没有被压缩,但 https://karenkingston.co.uk/index.php 被压缩了,事实上 https://karenkingston.co.uk/themes/coach/js/jquery.scripts.js 也会被压缩。
PHP 7.2 但更改版本无济于事。从 .htaccess 与 CPanel 启用 GZIP 也无济于事。
这是完整的 .htaccess
Options -indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType application/x-font-woff2 .woff2
AddType image/svg+xml .svg
ExpiresActive on
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/x-font-woff2 "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 1 month"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/x-javascript "access plus 1 year"
ExpiresByType application/pdf "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 1 month"
ErrorDocument 404 /
Redirect 301 /home https://karenkingston.co.uk
Redirect 301 /search https://karenkingston.co.uk
有什么想法吗?
答:
0赞
Vineet1982
10/12/2020
#1
上面的代码不支持 gzip 使用下面的代码
<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>
评论
0赞
ColossalYouth
1/3/2021
GZIP 在 CPanel 中启用,在指定完整路径的情况下工作正常,但不在根目录下。
0赞
Vineet1982
1/4/2021
@ColossalYouth mod_gzip.c auto 采用 GZIP 的路径,其 Apache 自动配置的东西
0赞
Nelson SUle
10/14/2020
#2
在 .htaccess 文件中执行此操作
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xmlin
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>
然后在你的 PHP 中
<?php
if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’))
ob_start(“ob_gzhandler”);
else ob_start();
?>
将上述 PHP 代码编写到始终处于活动状态的文件中,例如配置文件或 index.php 文件
评论
.htaccess