﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xixi&#039;s Blog &#187; htaccess</title>
	<atom:link href="http://www.xixis.net/archives/tag/htaccess/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xixis.net</link>
	<description>http://www.xixis.net  &#124;  Eternal Sunshine of the Spotless Mind</description>
	<lastBuildDate>Thu, 12 Jan 2012 06:04:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>htaccess使用手册</title>
		<link>http://www.xixis.net/archives/htaccess-manual.html</link>
		<comments>http://www.xixis.net/archives/htaccess-manual.html#comments</comments>
		<pubDate>Mon, 12 Apr 2010 14:34:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[htaccess]]></category>

		<guid isPermaLink="false">http://www.xixis.net/archives/htaccess%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html</guid>
		<description><![CDATA[Linux(Apache)主机相对Windows(IIS)主机优点多多，其中重要一点是定制功能强。    基于linux的主机，我们可以通过 .htaccess 文件完成许多配置工作，如自定义错误页，是否显示目录列表，阻止/允许特定的IP地址，Redirection 重定向，设置主文档等。     Apache服务器的.htaccess是一个非常强大的分布式配置文件，学会使用.htaccess，对虚拟主机用户来说，可以实现众多的功能。这里有 一篇很容易让人理解的.htaccess介绍，作为入门文章非常的适合。文章最初来自freewebmasterhelp.com，QiRan作了简单的 中文翻译，我将加以完善。     * Part 1 – Introduction介绍     * Part 2 – .htaccess Commande命令     * Part 3 – Password protection密码保护 
 

Part 1 – Introduction介绍 

介绍    从本指南中，你将可以学习到有关.htaccess文件及其功能的知识，并用以优化你的网站。尽管.htaccess只是一个文件，但它可以更改服务器的 设置，允许你做许多不同的事情，最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用，归根结底，它只是在一个text文档中添加几条简单的指令而已。     我的主机支持它吗？     这可能很难用简单的答案来回答。许多主机支持.htaccess，但实际上并不会特别声明，许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。一般来说，如果你的主机使用Unix或Linux系统，或任何版本的Apache网络服务器，从理论上都是支持.htaccess的， 尽管你的主机服务商可能不允许你使用它。     判断你的主机是否允许.htaccess，一个标志很好的是它是否支持文件夹密码保护。为达到此功能，主机服务商需要使用.htaccess（当然，少数 情况下他们虽提供密码保护功能，但却并不允许你使用.htaccess）。如果你不确定自己的主机是否支持.htaccess，最好的办法是上传你自己 的.htaccess文件看看是否有用，或者直接发送e-mail向你的主机服务商咨询。     我该怎么做？     你可能疑惑.htaccess到底能做些什么，或者你可能曾知道它的一些功能但并不真正了解你实际到底可以用它来做多少事情。     ...]]></description>
			<content:encoded><![CDATA[<p>Linux(<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/apache" title="显示Apache的所有日志" target="_blank">Apache</a></span>)主机相对Windows(IIS)主机优点多多，其中重要一点是定制功能强。    <br />基于linux的主机，我们可以通过 .<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span> 文件完成许多配置工作，如自定义错误页，是否显示目录列表，阻止/允许特定的IP地址，Redirection 重定向，设置主文档等。     <br /><span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/apache" title="显示Apache的所有日志" target="_blank">Apache</a></span>服务器的.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span>是一个非常强大的分布式配置文件，学会使用.htaccess，对虚拟主机用户来说，可以实现众多的功能。这里有 一篇很容易让人理解的.htaccess介绍，作为入门文章非常的适合。文章最初来自freewebmasterhelp.com，QiRan作了简单的 中文翻译，我将加以完善。     <br />* Part 1 – Introduction介绍     <br />* Part 2 – .htaccess Commande命令     <br />* Part 3 – Password protection密码保护 </p>
<p> <span id="more-474"></span>
<p></p>
<h3>Part 1 – Introduction介绍 </h3>
<p></p>
<p><u>介绍</u>    <br />从本指南中，你将可以学习到有关.htaccess文件及其功能的知识，并用以优化你的网站。尽管.htaccess只是一个文件，但它可以更改服务器的 设置，允许你做许多不同的事情，最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用，归根结底，它只是在一个text文档中添加几条简单的指令而已。     <br /><u>我的主机支持它吗？</u>     <br />这可能很难用简单的答案来回答。许多主机支持.htaccess，但实际上并不会特别声明，许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。一般来说，如果你的主机使用Unix或Linux系统，或任何版本的Apache网络服务器，从理论上都是支持.htaccess的， 尽管你的主机服务商可能不允许你使用它。     <br />判断你的主机是否允许.htaccess，一个标志很好的是它是否支持文件夹密码保护。为达到此功能，主机服务商需要使用.htaccess（当然，少数 情况下他们虽提供密码保护功能，但却并不允许你使用.htaccess）。如果你不确定自己的主机是否支持.htaccess，最好的办法是上传你自己 的.htaccess文件看看是否有用，或者直接发送e-mail向你的主机服务商咨询。     <br /><u>我该怎么做？</u>     <br />你可能疑惑.htaccess到底能做些什么，或者你可能曾知道它的一些功能但并不真正了解你实际到底可以用它来做多少事情。     <br />.htaccess可以做大量的事情，包括：文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表，以及使用其他文件作为index文件。     <br /><u>创建一个.htaccess文档</u>     <br />创建.htaccess文件也许会给你带来一些困难。写文件很容易，你只需要在文字编缉器（例如：写字板）里写下适当的代码。真正困难的可能是文件的保 存，因为.htaccess是一个古怪的文件名（它事实上没有文件名，只有一个由8个字母组成的扩展名），而在一些系统（如windows 3.1）中无法接受这样的文件名。在大多数的操作系统中，你需要做的是将文档保存成名为：     <br />“.htaccess”     <br />（包括引号）。如果这也不行，你需要将其先命名为其它名字（例如htaccess.txt），再将其上传到服务器上，之后直接使用FTP软件来重命名。     <br /><u>注意事项</u>     <br />在使用.htaccess之前，我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦（如果有些东西错了，它只是没效 用罢了），但如果你使用Microsoft FrontPage Extensions，就必须特别小心。因为FrontPage Extensions本身使用了.htaccess，因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要（并不推荐，但是可能），你应该先从服 务器上下载.htaccess文档（如果存在），之后在前面加上你的代码。     <br /><u>自定义错误页      <br /></u>我要介绍的.htaccess的第一个应用是自定义错误页面，这将使你可以拥有自己的、个性化的错误页面（例如找不到文件时），而不是你的服务商提供的错 误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你（例如我使用Free Webmaster Help的PHP脚本程序，当找不到页面的时候自动e-mail给我）。     <br />你所知道的任何页面错误代码（像404找不到页面），都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面：</p>
<blockquote><p>ErrorDocument errornumber /file.html</p>
</blockquote>
<p>举例来说，如果我的根目录下有一个nofound.html文件，我想使用它作为404 error的页面：</p>
<blockquote><p>ErrorDocument 404 /notfound.html</p>
</blockquote>
<p>如果文件不在网站的根目录下，你只需要把路径设置为：</p>
<blockquote><p>ErrorDocument 500 /errorpages/500.html</p>
</blockquote>
<p>以下是一些最常用的错误：</p>
<blockquote><p>401 – Authorization Required 需要验证      <br />400 – Bad request 错误请求       <br />403 – Forbidden 禁止       <br />500 – Internal Server Error 内部服务器错误       <br />404 – Wrong page 找不到页面</p>
</blockquote>
<p>接下来，你要做的只是创建一个错误发生时显示的文件，然后把它们和.htaccess一起上传。     </p>
<h3>Part 2 – .htaccess 命令</h3>
<p><u>介绍      <br /></u>在上一部分，我已经简单介绍了.htaccess以及它的一些有用功能，在这一部分，我将向你演示如何使用.htaccess文档去实现这些功能。     <br /><u>停示显示目录列表</u>     <br />有些时候，由于某种原因，你的目录里没有index文件，这意味着当有人在浏览器地址栏键入了该目录的路径，该目录下所有的文件都会显示出来，这会给你的网站留下安全隐患。     <br />为避免这种情况（而不必创建一堆的新index文件），你可以在你的.htaccess文档中键入以下命令，用以阻止目录列表的显示：</p>
<blockquote><p>Options –Indexes</p>
</blockquote>
<p><u>阻止/允许特定的IP地址</u>     <br />某些情况下，你可能只想允许某些特定IP的用户可以访问你的网站（例如：只允许使用特定ISP的用户进入某个目录），或者想封禁某些特定的IP地址（例 如：将低级用户隔离于你的信息版面外）。当然，这只在你知道你想拦截的IP地址时才有用，然而现在网上的大多数用户都使用动态IP地址，所以这并不是限制 使用的常用方法。     <br />使用以下命令封禁一个IP地址：</p>
<blockquote><p>deny from 000.000.000.000</p>
</blockquote>
<p>这里的000.000.000.000是被封禁的IP地址，如果你只指明了其中的几个，则可以封禁整个网段的地址。如你输入210.10.56.，则将封禁210.10.56.0～210.10.56.255的所有IP地址。    <br />你可以使用以下命令允许一个IP地址访问网站： </p>
<blockquote><p>allow from 000.000.000.000 </p></blockquote>
<p>被允许的IP地址则为000.000.000.000，你可以象封禁IP地址一样封禁整个网段。   <br />如果你想阻止所有人访问该目录，则可以使用：<br />
<blockquote>deny from all </p></blockquote>
<p> 不过这并不影响脚本程序使用这个目录下的文档。   <br /><u>替换index文件</u><br />
<blockquote>Alternative Index Files </p></blockquote>
<p>也许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说，如果你的站点使用PHP文件，你可能会想使用 index.php来作为该目录的索引文档。当然也不必局限于“index”文档，如果你愿意，使用.htaccess你甚至能够设置 foofoo.balh来作为你的索引文档！   <br />这些互为替换的索引文件可以排成一个列表，服务器会从左至右进行寻找，检查哪个文档在真实的目录中存在。如果一个也找不到，它将会把目录列表显示出来（除非你已经关闭了显示目录文件列表）。<br />
<blockquote>DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm </p></blockquote>
<p><u>Redirection 重定向    <br /></u>.htaccess最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称，但仍然想让用户用旧地址访问到它时，变的极为 有用。另一个应用（我发现的很有用的）是重定向到一个长URL，例如在我的时事通讯中，我可以使用一个很简短的URL来指向我的会员链接。以下是一个重定 向文件的例子：   <br /> <br />
<blockquote>Redirect /location/from/root/file.ext http://www.othersite.com/new/file/location.xyz </p></blockquote>
<p>上述例子中，访问在root目录下的名为oldfile.html可以键入：   <br />/oldfile.html   <br />访问一个旧次级目录中的文件可以键入：   <br />/old/oldfile.html   <br />你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录，并且你已经在一个新网站http://www.newsite.com/newdirectory/上建立了与上相同的文档，你可以将旧目录下所有的文件做一次重定向而不必一一声明：   <br /> <br />
<blockquote>Redirect /olddirectory http://www.newsite.com/newdirectory </p></blockquote>
<p>这样，任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点，包括附加的额外URL信息。例如有人键入：     <br />请求将被重定向到：     <br />如果正确使用，此功能将极其强大。 </p>
<p></p>
<h3>Part 3 – 密码保护</h3>
<p><u>Introduction 介绍</u>   <br />尽管有各种各样的.htaccess用法，但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到，但只有.htaccess具有完美的安全性（即访问者必须知晓密码才可以访问目录，并且绝无“后门”可走）。   <br />The .htaccess File 密码保护的.htaccess文件   <br />利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码，再将.htaccess文档放进你要保护的目录下：<br />
<blockquote>AuthName “Section Name”    <br />AuthType Basic     <br />AuthUserFile /full/path/to/.htpasswd     <br />Require valid-user </p></blockquote>
<p>你可能需要根据你的网站情况修改一下上述内容中的一些部分，如用被保护部分的名字”Members Area”，替换掉“Section Name”。   <br />The /full/parth/to/.htpasswd should be changed to reflect the full server path to the .htpasswd file (more on this later). If you do not know what the full path to your webspace is, contact your system administrator for details.   <br />/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件（后面详述该文档）的完整服务器路径。如果你不知道你网站空间的完整路径，请询问一下你的系统管理员。   <br /><u>.htpasswd文件 – 设置密码保护</u>   <br />目录的密码保护比.htaccess的其他功能要麻烦些，因为你必须同时创建一个包含用户名和密码的文档，用于访问你的网站，相关信息（默认）位于一个名 为.htpasswd的文档里。像.htaccess一样，.htpasswd也是一个没有文件名且具有8位扩展名的文档，可以放置在你网站里的任何地方 （此时密码应加密），但建议你将其保存在网站Web根目录外，这样通过网络就无法访问到它了。   <br />输入用户名和密码   <br />创建好.htpasswd文档后（可以通过文字编辑器创建），下一步是输入用于访问网站的用户名和密码，应为：   <br /> <br />
<blockquote>username:password </p></blockquote>
<p>“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码：一是使用一个网上提供的permade脚本或自己写一个；另一个 很不错的username/password加密服务是通过KxS网站，这里允许你输入用户名及密码，然后生成正确格式的密码。   <br />对于多用户，你只需要在.htpasswd文档中新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档，可以自动新增/移除用户等。   <br /><u>访问网站    <br /></u>当你试图访问被.htaccess密码保护的目录时，你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式，有些脚 本程序可以允许你在页面内嵌入username/password输入框来进行认证，你也可以在浏览器的URL框内以以下方式输入用户名和密码（未加密 的）：   <br />[url]http://username:password@www.website.com/directory/[/url]   <br />Summary 小结   <br />.htaccess是一个站点管理员可以应用的强大工具，有更多的变化以适应不同的用途，可以节约时间及提高网站的安全性。  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/htaccess-manual.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>突破限制-独立ip放置多站点</title>
		<link>http://www.xixis.net/archives/break-out-to-place-multi-site-independent-ip.html</link>
		<comments>http://www.xixis.net/archives/break-out-to-place-multi-site-independent-ip.html#comments</comments>
		<pubDate>Thu, 01 Apr 2010 15:55:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络资源]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[独立ip]]></category>

		<guid isPermaLink="false">http://www.xixis.net/archives/%e7%aa%81%e7%a0%b4%e9%99%90%e5%88%b6-%e7%8b%ac%e7%ab%8bip%e6%94%be%e7%bd%ae%e5%a4%9a%e7%ab%99%e7%82%b9.html</guid>
		<description><![CDATA[IXwebhosting等国外空间的独立IP下只能做一个站，独立IP用完之后，新建站的话用的都是共享IP，可是国外的IP经常面临被封的命运，所以很多人都想在一个IP下面建多个站。 其实只要你的空间支持.htaccess文件，就可以突破限制。很简单： 首先将域名都A指向解析到自己的独立IP，然后在独立IP所在网站的根目录建立对应不同域名的子文件夹，最后修改.htaccess文件。  　　添加如下代码: 　　


#绑定的第一个域名。
　　RewriteEngine on
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis.net$
　　RewriteCond %{REQUEST_URI} !^/xixis-net/
　　RewriteCond %{REQUEST_FILENAME} !-f
　　RewriteCond %{REQUEST_FILENAME} !-d
　　RewriteRule ^(.*)$ /xixis-net/$1
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis.net$
　　RewriteRule ^(/)?$ xixis-net/index.php [L]
#绑定的第二个域名。　
　　RewriteEngine on
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis2.net$ #域名2
　　RewriteCond %{REQUEST_URI} !^/xixis2/ #目录设置
　　RewriteCond %{REQUEST_FILENAME} !-f
　　RewriteCond %{REQUEST_FILENAME} !-d
　　RewriteRule ^(.*)$ /xixis2/$1 #目录设置
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis2.net$ #域名2
　　RewriteRule ^(/)?$ xixis2/index.php [L] #默认访问的文件，可以修改成别的
　　


　　其实.htaccess文件很强大的，可以实现很多功能，甚至可以定义php参数，比如上传文件大小，PHP程序运行时间等等，只要善于发掘，就能够实现更多的功能。
]]></description>
			<content:encoded><![CDATA[<p>IXwebhosting等国外空间的独立IP下只能做一个站，独立IP用完之后，新建站的话用的都是共享IP，可是国外的IP经常面临被封的命运，所以很多人都想在一个IP下面建多个站。 其实只要你的空间支持.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span>文件，就可以突破限制。很简单：<br /> 首先将域名都A指向解析到自己的独立IP，然后在独立IP所在网站的根目录建立对应不同域名的子文件夹，最后修改.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span>文件。 <span id="more-462"></span> 　　<br />添加如下代码: 　　<br />
<blockquote>
<pre>
#绑定的第一个域名。
　　RewriteEngine on
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis.net$
　　RewriteCond %{REQUEST_URI} !^/xixis-net/
　　RewriteCond %{REQUEST_FILENAME} !-f
　　RewriteCond %{REQUEST_FILENAME} !-d
　　RewriteRule ^(.*)$ /xixis-net/$1
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis.net$
　　RewriteRule ^(/)?$ xixis-net/index.php [L]
#绑定的第二个域名。　
　　RewriteEngine on
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis2.net$ #域名2
　　RewriteCond %{REQUEST_URI} !^/xixis2/ #目录设置
　　RewriteCond %{REQUEST_FILENAME} !-f
　　RewriteCond %{REQUEST_FILENAME} !-d
　　RewriteRule ^(.*)$ /xixis2/$1 #目录设置
　　RewriteCond %{HTTP_HOST} ^(www.)?xixis2.net$ #域名2
　　RewriteRule ^(/)?$ xixis2/index.php [L] #默认访问的文件，可以修改成别的
　　
</pre>
</blockquote>
<p>　　其实.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span>文件很强大的，可以实现很多功能，甚至可以定义php参数，比如上传文件大小，PHP程序运行时间等等，只要善于发掘，就能够实现更多的功能。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/break-out-to-place-multi-site-independent-ip.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress 提速之 Gzip 压缩</title>
		<link>http://www.xixis.net/archives/wordpress-speed-of-gzip-compression.html</link>
		<comments>http://www.xixis.net/archives/wordpress-speed-of-gzip-compression.html#comments</comments>
		<pubDate>Sun, 07 Feb 2010 14:29:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.xixis.net/?p=304</guid>
		<description><![CDATA[今天来聊下 wordpress 提速，其实关于这方面的话题网上其实蛮多的，速度对一个网站来说无疑是非常重要的，对于速度的追求也是无止境的，在这方面的表率无疑就是 shawn 了，看他博客的很多技巧都是针对速度来的……不过话说回来，速度也不是绝对的，看很多优秀的博客速度并不占优，有时候追求速度难免还会牺牲一些其它的东西！！此文仅供参考。
废话少说，关于 wordpress 的提速还是可以从很多方面入手的，因为 WP 的灵活而导致其效率和速度的下降，比如因为使用插件而在头部载入的 N 多的 JS 和 CSS 就是最为典型的，就不展开说了，今天我们只说 Gzip！
什么是 Gzip 压缩，为什么要用 Gzip 压缩
说白了就是一种压缩的技术，它将浏览器请求的文件在服务器端进行压缩，然后将文件以压缩的形式传递给浏览器，然后在浏览器端进行解压缩，还原后进行解析。而目前 99% 的浏览器都支持 Gzip ，包括 IE 4+, Netscape 4+, Opera 5+ 和所有版本的 Safari 和 Firefox ，所以大家可以放心使用。
在这里我们的压缩对象是所有的 html、JS、和 CSS 。而他的压缩效率惊人，能减小 60% 到70%。像我的博客一个 10K 的 JS 文件，用 Gzip 压缩后浏览器接收的只有 3K 大小，16K 的 CSS 文件也被压缩到了 5K，很强大吧！
怎么知道我的页面是否 Gzip 压缩过了
Gzip 的方法有很多种，而有很多的服务器是默认开启 Gzip 压缩的，不过据我所知，这种服务器少之又少。怎么确定自己的网页是否被 Gzip 呢！！这种测试的网站网上也很多，不过一般只能测试 html，这里推荐给大家一个测试的网站：Websiteoptimization，输入网址后，输入验证码，就会给出你的 Web Page Speed Report.
貌似很多的“童鞋”看错了，现在补图上来！！其中在下面的 Page Objects 中，会给出所有所加载的文件的信息。在最后一栏的信息中，如果显示：Congratulations! This file was compressed. 说明是被压缩过的，如果是：Up to **** bytes could have been saved through compression，显然是还没被压缩的。
启用 Gzip 的几种方法
是的，有几种方法，是针对不同的情况的。
1、最好的情况是你的主机采用的是 Apache 2，并安装启用了mod_deflate 模块。这样就很简单了，只需要在 .htaccess 文件中加入以下代码可以压缩 HTML, PHP, ...]]></description>
			<content:encoded><![CDATA[<p>今天来聊下 wordpress 提速，其实关于这方面的话题网上其实蛮多的，速度对一个网站来说无疑是非常重要的，对于速度的追求也是无止境的，在这方面的表率无疑就是 <a href="http://ishawn.net/">shawn</a> 了，看他博客的很多技巧都是针对速度来的……不过话说回来，速度也不是绝对的，看很多优秀的博客速度并不占优，有时候追求速度难免还会牺牲一些其它的东西！！此文仅供参考。<span id="more-304"></span></p>
<p>废话少说，关于 wordpress 的提速还是可以从很多方面入手的，因为 WP 的灵活而导致其效率和速度的下降，比如因为使用插件而在头部载入的 N 多的 JS 和 CSS 就是最为典型的，就不展开说了，今天我们只说 Gzip！</p>
<h3>什么是 Gzip 压缩，为什么要用 Gzip 压缩</h3>
<p>说白了就是一种压缩的技术，它将浏览器请求的文件在服务器端进行压缩，然后将文件以压缩的形式传递给浏览器，然后在浏览器端进行解压缩，还原后进行解析。而目前 99% 的浏览器都支持 Gzip ，包括 IE 4+, Netscape 4+, Opera 5+ 和所有版本的 Safari 和 Firefox ，所以大家可以放心使用。</p>
<p><strong>在这里我们的压缩对象是所有的 html、JS、和 CSS 。而他的压缩效率惊人，能减小 60% 到70%。像我的博客一个 10K 的 JS 文件，用 Gzip 压缩后浏览器接收的只有 3K 大小，16K 的 CSS 文件也被压缩到了 5K，很强大吧！</strong></p>
<h3>怎么知道我的页面是否 Gzip 压缩过了</h3>
<p>Gzip 的方法有很多种，而有很多的服务器是默认开启 Gzip 压缩的，不过据我所知，这种服务器少之又少。怎么确定自己的网页是否被 Gzip 呢！！这种测试的网站网上也很多，不过一般只能测试 html，这里推荐给大家一个测试的网站：<a href="http://www.websiteoptimization.com/services/analyze/">Websiteoptimization</a>，输入网址后，输入验证码，就会给出你的 Web Page Speed Report.</p>
<p>貌似很多的“童鞋”看错了，现在补图上来！！其中在下面的 Page Objects 中，会给出所有所加载的文件的信息。在最后一栏的信息中，<strong>如果显示：Congratulations! This file was compressed. 说明是被压缩过的，如果是：Up to **** bytes could have been saved through compression，显然是还没被压缩的。</strong></p>
<h3>启用 Gzip 的几种方法</h3>
<p>是的，有几种方法，是针对不同的情况的。</p>
<p>1、最好的情况是你的主机采用的是 Apache 2，并安装启用了mod_deflate 模块。这样就很简单了，只需要在 .<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span> 文件中加入以下代码可以压缩 HTML, PHP, JS, CSS, XML 后缀的文件。</p>
<blockquote><p>&lt;ifmodule mod_deflate.c&gt;</p>
<p>AddOutputFilterByType DEFLATE text/html text/<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/css" title="显示css的所有日志" target="_blank">css</a></span> text/plain text/xml application/x-httpd-php application/x-<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/javascript" title="显示javascript的所有日志" target="_blank">javascript</a></span></p>
<p>&lt;/ifmodule&gt;</p></blockquote>
<p>不过一般的主机都没有这个模块，如果你是独立主机可以自行配置。至于如何检测自己的主机是否有安装这个模块，我还真没找到办法，望高手指点。如果大家有兴趣，可能将上面的代码加好，看是否 Gzip 来试一下！以上方法来自：<a href="http://fairyfish.net/2008/04/07/gzip/">我爱水煮鱼</a></p>
<p>2、用 PHP 来压缩</p>
<p>此方法也需要 PHP 模块 zlib 的支持，不过这是一个基本的模块，一般都开启了！！所以我们主要讲下这部分。</p>
<h3>用 PHP 压缩动态页面</h3>
<p>我们先来看所谓的 html 的压缩，其实也就是由 PHP 动态生成的 html 。这样的方法有很多，我用的是 <a href="http://ishawn.net/tips/enable-gzip-function-of-hostgator.html">shawn 的方法</a> ，还有 <a href="http://wmrpd.com/blog/?p=300">几种方法</a> 供参考。</p>
<h3>用 PHP 压缩 JS 和CSS</h3>
<p><strong>关于 JS 和 CSS 的压缩也有几种方法，目前比较多的是像 K2 学习，将 JS 和 CSS 改为 .php 的方法</strong>。这个前辈已经介绍过了，请移步：<a href="http://sexywp.com/simple-guide-to-css-js-compress.htm">简述对WP博客样式表和JS脚本的压缩</a></p>
<p>这种方法的缺点是要修改每个 JS 和 CSS 文件，有点不太方便。对于将所有插件中的 JS 和CSS 都合并的博客来说还算容易，但没有合并的来说无疑是一项巨大的工程，而且插件更新也是件麻烦的事。另外看着好好的 CSS 文件变成了 PHP ，看着挺怪的，呵呵！！好处是有好的适应性，因为这 K2 用的方法！</p>
<p><strong>第二种方法是老N提供的方法</strong>：<a href="http://neolee.cn/wordpress/compress-js-css/">加速blog，压缩js,css，减省带宽</a> ，这种方法应该说比较简单，而且默认对所有的 JS 和 CSS 生效。原理就是把 JS 和 CSS 利用 .<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span> 交给一个 PHP 文件来处理进行压缩。</p>
<p>老N那的代码貌似复制出来有些问题，我再贴一下，呵呵：</p>
<blockquote><p>1、创建 <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/gzip" title="显示gzip的所有日志" target="_blank">gzip</a></span>.php 文件并上传到博客根目录，代码如下：</p>
<p>下载: <a href="http://www.xiaorsz.com/wp-content/plugins/coolcode/coolcode.php?p=632&amp;download=gzip.php">gzip.php</a></p></blockquote>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span>p  <span style="color: #000088;">$allowed</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>  <span style="color: #0000ff;">'<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/css" title="显示css的所有日志" target="_blank">css</a></span>'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'text/<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/css" title="显示css的所有日志" target="_blank">css</a></span>'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'js'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'text/<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/javascript" title="显示javascript的所有日志" target="_blank">javascript</a></span>'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'html'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'text/html'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'htm'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'text/html'</span><span style="color: #339933;">,</span>  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>  <span style="color: #000088;">$extension</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'.'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #000088;">$extension</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_pop</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$extension</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$extension</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>  <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$pos</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #990000;">is_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>  <span style="color: #339933;">@</span><span style="color: #990000;">ob_start</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ob_gzhandler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>Content<span style="color: #339933;">-</span>type<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span><span style="color: #000088;">$allowed</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$extension</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span> charset<span style="color: #339933;">:</span> UTF<span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #990000;">readfile</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>  <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.1 404 Not Found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #009900;">&#125;</span>  <span style="color: #009900;">&#125;</span> <span style="color: #339933;">--&gt;</span></pre></div></div>

<blockquote><p>2、更改.<span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/htaccess" title="显示htaccess的所有日志" target="_blank">htaccess</a></span>文件，在.htaccess中添加：</p>
<p>RewriteCond %{REQUEST_FILENAME} -f</p>
<p>RewriteCond %{REQUEST_FILENAME} ^.*\.(css|js|html|htm)$</p>
<p>RewriteRule ^(.*)$ <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/gzip" title="显示gzip的所有日志" target="_blank">gzip</a></span>.php?url=$1 [QSA,L]</p>
<p>就 OK 了~，的确很简单</p></blockquote>
<p>但上面两种方法还有一个问题，就是会吃服务器的资源，占用一定的 CPU 和内存，因为每次访问页面都要执行一下。但具体吃到什么程度，我就不清楚了，据说在服务器资源紧张的情况下压缩的效率会比较低，不过我想一般大型的主机提供商的主机还是不会有什么问题的。</p>
<p>第三种我们来看 <a href="http://www.thirdinfo.com/how-to-better-wp.htm">辐射鱼提供的方法</a></p>
<blockquote><p>1. 下载 <a href="http://wopus.googlecode.com/files/gzip.php">Gzip.php</a> 文件并上传到你的Wordpress安装目录</p>
<p>2. 在你的 Wordpress 根目录建立 wp-cache 文件夹并确保其可写入</p>
<p>3. 在.htaccess里面加上</p>
<p>RewriteRule (.*.css$|.*.js$) <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/gzip" title="显示gzip的所有日志" target="_blank">gzip</a></span>.php?$1 [L]</p>
<p>即可</p></blockquote>
<p>也非常的简单，而且此种方法的优点是：自动读取并 gzip 压缩 css 和 js，访问时直接调用生成的 .gz 文件，节约带宽也不占用服务器资源，<strong>但不适用空间下安装了多个 Wordpress 的博友</strong>，可能导致二级目录下的某些 <span class='wp_keywordlink_affiliate'><a href="http://www.xixis.net/archives/tag/wordpress" title="显示WordPress的所有日志" target="_blank">WordPress</a></span> 无法加载 CSS 样式。这些都是辐射鱼的原话，呵呵！另外就是当 CSS 和 JS 有更新时要手动清除缓存才行。符合条件的同志推荐用这种方法！！</p>
<p>转载自：<a title="http://www.xiaorsz.com/wordpress-gzip-compression-improve-the-speed/" href="http://www.xiaorsz.com/wordpress-gzip-compression-improve-the-speed/">http://www.xiaorsz.com/wordpress-gzip-compression-improve-the-speed/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xixis.net/archives/wordpress-speed-of-gzip-compression.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

