WP Super Cache 安装与设置方法
- 发表于
- WordPress
wordpress 的插件越来越多,速度也越来越慢,咋整?
静态化!
今天主要是把流程 Step by Step 一下,不用理解为啥这么设置, 只需要知道设置后会变的很快
所谓提前优化是万恶之源的意思就是说,之前网站做的越烂,优化的空间就越多
和老板说看,之前多烂多烂,俺给你省了多少多少钱,一般都能拿奖金
静态化也一样,之前一大堆插件,开个页面上百次MYSQL查询,或烂人写的没效率SQL会让人不禁抓栏杆撕床单
WP Super Cache 并不是100%静态化,不过这个不重要,他把最卡的部分搞定了即可
WP Super Cache 他唯一的缺点就是如果你在改主题或搞啥插件,后台设置了前台看不出变化,为毛?下面有解决方案
OK, let's gou
- 首先,永久连接不能使用默认格式
- 修改永久链接格式,中文推荐采用 /%post_id%.html (这下你知道我的.orz哪里来了吧)
如果你和我一样蛋疼愿意为每篇文章写一个英语的postslug
建议采用这样的格式:/%postname%.html (百分号外面的随意写)
安装:
首先你应该已经安装Apache mod mime以及mod rewrite模块,并启用WordPress fancy permalinks。 禁用PHP安全模式。 如果上述条件有任何一个缺失或是关闭,你仍然可以使用此插件较慢的WP-Cache部分。
如果你已经安装了WP-Cache插件,请先将它禁用。 编辑wp-config.php文件,确认WP_CACHE定义已删除,并移除wp-content目录下的wp-cache-config.php文件和advanced-cache.php文件。 这些内容会在安装WP-Super-Cache后重新生成。
上传WP-Super-Cache目录到你的插件目录。它会创建一个“wp-content/plugins/wp-super-cache/”目录。
访问你的管理页面中的插件页面,激活“WP Super Cache”。
激活后,访问 “设置” →WP Super Cache,然后启用缓存。 如果你看到错误信息提示,或是空白页面,你可能需要修正它。 查看本文“常见问题”区域获得解决方案。
mod_rewrite规则会自动插入到你的.htaccess文件中。此文件位于你的空间可访问的根目录。 这个文件应该看起来和下面的内容类似:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{QUERY_STRING} !.*=.* RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$ RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{HTTP_user_agent} !^.*(2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).* RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{QUERY_STRING} !.*=.* RewriteCond %{QUERY_STRING} !.*attachment_id=.* RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$ RewriteCond %{HTTP_user_agent} !^.*(2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).* RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
在你启用这个插件之后,在wp-content/cache/目录下找到.htaccess文件,如果此文件不存在,你需要手动创建。 内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# BEGIN supercache <IfModule mod_mime.c> <FilesMatch "\.html\.gz$"> ForceType text/html FileETag None </FilesMatch> AddEncoding gzip .gz AddType text/html .gz </IfModule> <IfModule mod_deflate.c> SetEnvIfNoCase Request_URI \.gz$ no-gzip </IfModule> <IfModule mod_headers.c> Header set Cache-Control 'max-age=300, must-revalidate' </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/html A300 </IfModule> # END supercache |
Apache必须设置为允许上述模块工作。 如果当响应匿名访客请求时出现“500 internal error”,你需要调整你的Apache设置。下述设置在我的虚拟主机上有效:
1 2 3 |
<Directory /home/www/> AllowOverride All </Directory> |
全都搞定后去前台页面,右键查看源代码,拉到最下面,会有三行状态告诉你已经搞定鸟
原文连接
的情况下转载,若非则不得使用我方内容。