<?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>色胚子部落 &#187; 伺服器相關</title>
	<atom:link href="http://blog.colorbase.tw/tag/server/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.colorbase.tw</link>
	<description>訊息多變的時代裡，需要多學習多思考</description>
	<lastBuildDate>Mon, 15 Aug 2011 03:29:59 +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>Apache、Nginx、Lighttpd評比</title>
		<link>http://blog.colorbase.tw/server-side/642</link>
		<comments>http://blog.colorbase.tw/server-side/642#comments</comments>
		<pubDate>Sun, 11 Oct 2009 10:38:29 +0000</pubDate>
		<dc:creator>阿育</dc:creator>
				<category><![CDATA[伺服器相關]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[HTTP Sever]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://blog.colorbase.tw/?p=642</guid>
		<description><![CDATA[今天看到了一篇對於目前三大知名 Open Source HTTP Server (Apache、Nginx、Lighttpd) 做評比的文章，文章內容寫的非常詳盡，也提出各種伺服器適合的建議用途。
 Apache  許可協議：Apache License 2.0  官網：http://www.apache.org

Nginx    許可協議：BSD-like    官網：http://www.nginx.net
Lighttpd    許可協議：BSD License    官網：http://www.lighttpd.net/
我的感想：
我想Nginx應該是因為它的開發是針對俄羅斯第二大流量的網站 Rambler.ru 所開發，所以目前沒有支援虛擬主機的功能 ，非常期待Nginx能持續加強他的功能性，如果虛擬主機這個常見功能能夠支援的話，那這將是一個非常先進且完美的Web Server。
以下引用建議及比較，其他詳細資料及數據請至原出處：http://www.cyask.com/question.php?qid=563
Apache、Nginx、Lighttpd比較表



Server
Apache
Nginx
Lighttpd


Proxy代理
非常好
非常好
一般


Rewriter
好
非常好
一般


FastCGI
不好
好
非常好


熱部署
不支持
支持
不支持


系統壓力比較
很大
很小
比較小


穩定性
好
非常好
不好


安全性
好
一般
一般


技術支持
非常好
很少
一般


靜態文件處理
一般
非常好
好


Vhosts虛擬主機
支持
不支持
支持


反向代理
一般
非常好
一般


Session sticky
支持
不支持
不支持



註：在相對比較大的網站，節約下來的伺服器成本無疑是客觀的。而有些小型網站往往伺服器不多，如果採用 Apache 這類傳統 Web 伺服器，似乎也還能撐過去。但有其很明顯的弊端： Apache 在處理流量爆發的時候(比如爬蟲或者是 Digg 效應) 很容易過載，這樣的情況下採用 Nginx 最為合適。
建議方案：
Apache 後台伺服器（主要處理php及一些功能請求 如：中文url）   Nginx&#160; 前端伺服器（利用它佔用系統資源少得優勢來處理靜態頁面大量請求）   ...]]></description>
			<content:encoded><![CDATA[<p>今天看到了一篇對於目前三大知名 Open Source HTTP Server (Apache、Nginx、Lighttpd) 做評比的文章，文章內容寫的非常詳盡，也提出各種伺服器適合的建議用途。</p>
<p> <span id="more-642"></span><strong>Apache</strong>  <br />許可協議：Apache License 2.0  <br />官網：<a href="http://www.apache.org" target="_blank">http://www.apache.org</a>
</p>
<p><strong>Nginx</strong>    <br />許可協議：BSD-like    <br />官網：<a href="http://www.nginx.net" target="_blank">http://www.nginx.net</a></p>
<p><strong>Lighttpd</strong>    <br />許可協議：BSD License    <br />官網：<a href="http://www.lighttpd.net/" target="_blank">http://www.lighttpd.net/</a></p>
<h2><span style="color: #008080">我的感想：</span></h2>
<p>我想Nginx應該是因為它的開發是針對俄羅斯第二大流量的網站 Rambler.ru 所開發，所以目前沒有支援虛擬主機的功能 ，非常期待Nginx能持續加強他的功能性，如果虛擬主機這個常見功能能夠支援的話，那這將是一個非常先進且完美的Web Server。</p>
<p>以下引用建議及比較，其他詳細資料及數據請至原出處：<a href="http://www.cyask.com/question.php?qid=563" target="_blank">http://www.cyask.com/question.php?qid=563</a></p>
<h2><span style="color: #008080">Apache、Nginx、Lighttpd比較表</span></h2>
<table border="0" cellspacing="3" cellpadding="3" width="670">
<tbody>
<tr>
<td bgcolor="#5b84d7" valign="top" width="25%"><span style="color: #ffffff">Server</span></td>
<td bgcolor="#3366cc" valign="top" width="25%"><span style="color: #ffff00">Apache</span></td>
<td bgcolor="#3366cc" valign="top" width="25%"><span style="color: #ffff00">Nginx</span></td>
<td bgcolor="#3366cc" valign="top" width="148"><span style="color: #ffff00">Lighttpd</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">Proxy代理</td>
<td bgcolor="#b20c0c" valign="top" width="19%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#cccccc" valign="top" width="148"><span style="color: #696969">一般</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">Rewriter</td>
<td bgcolor="#8db241" valign="top" width="19%"><span style="color: #000000">好</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#cccccc" valign="top" width="148"><span style="color: #696969">一般</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">FastCGI</td>
<td bgcolor="#cccccc" valign="top" width="19%"><span style="color: #696969">不好</span></td>
<td bgcolor="#8db241" valign="top" width="24%"><span style="color: #000000">好</span></td>
<td bgcolor="#b20c0c" valign="top" width="148"><span style="color: #ffffff">非常好</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">熱部署</td>
<td bgcolor="#8db241" valign="top" width="19%"><span style="color: #000000">不支持</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">支持</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">不支持</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">系統壓力比較</td>
<td bgcolor="#cccccc" valign="top" width="19%"><span style="color: #696969">很大</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">很小</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">比較小</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">穩定性</td>
<td bgcolor="#8db241" valign="top" width="19%"><span style="color: #000000">好</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#cccccc" valign="top" width="148"><span style="color: #696969">不好</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">安全性</td>
<td bgcolor="#b20c0c" valign="top" width="19%"><span style="color: #ffffff">好</span></td>
<td bgcolor="#8db241" valign="top" width="24%"><span style="color: #000000">一般</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">一般</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">技術支持</td>
<td bgcolor="#b20c0c" valign="top" width="19%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#cccccc" valign="top" width="24%"><span style="color: #696969">很少</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">一般</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">靜態文件處理</td>
<td bgcolor="#cccccc" valign="top" width="19%"><span style="color: #696969">一般</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">好</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">Vhosts虛擬主機</td>
<td bgcolor="#b20c0c" valign="top" width="19%"><span style="color: #ffffff">支持</span></td>
<td bgcolor="#cccccc" valign="top" width="24%"><span style="color: #696969">不支持</span></td>
<td bgcolor="#b20c0c" valign="top" width="148"><span style="color: #ffffff">支持</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">反向代理</td>
<td bgcolor="#8db241" valign="top" width="19%"><span style="color: #000000">一般</span></td>
<td bgcolor="#b20c0c" valign="top" width="24%"><span style="color: #ffffff">非常好</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">一般</span></td>
</tr>
<tr>
<td bgcolor="#c1e0ff" valign="top" width="27%">Session sticky</td>
<td bgcolor="#b20c0c" valign="top" width="19%"><span style="color: #ffffff">支持</span></td>
<td bgcolor="#8db241" valign="top" width="24%"><span style="color: #000000">不支持</span></td>
<td bgcolor="#8db241" valign="top" width="148"><span style="color: #000000">不支持</span></td>
</tr>
</tbody>
</table>
<p>註：在相對比較大的網站，節約下來的伺服器成本無疑是客觀的。而有些小型網站往往伺服器不多，如果採用 Apache 這類傳統 Web 伺服器，似乎也還能撐過去。但有其很明顯的弊端： Apache 在處理流量爆發的時候(比如爬蟲或者是 Digg 效應) 很容易過載，這樣的情況下採用 Nginx 最為合適。</p>
<h2><span style="color: #008080">建議方案：</span></h2>
<p>Apache 後台伺服器（主要處理php及一些功能請求 如：中文url）   <br />Nginx&#160; 前端伺服器（利用它佔用系統資源少得優勢來處理靜態頁面大量請求）    <br />Lighttpd 圖片伺服器    <br />總體來說，隨著nginx功能得完善將使他成為今後web server得主流。</p>
<h2>參考文章：</h2>
<p><a href="http://www.cyask.com/question.php?qid=563" target="_blank">http://www.cyask.com/question.php?qid=563</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.colorbase.tw/server-side/642/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress如何防止你的圖片被外連</title>
		<link>http://blog.colorbase.tw/wordpress/612</link>
		<comments>http://blog.colorbase.tw/wordpress/612#comments</comments>
		<pubDate>Tue, 21 Jul 2009 15:14:26 +0000</pubDate>
		<dc:creator>阿育</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[伺服器相關]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_rewrite]]></category>

		<guid isPermaLink="false">http://blog.colorbase.tw/?p=612</guid>
		<description><![CDATA[大量的外連圖片將會導致增加許多莫名的流量，禁止外連圖片常見於各個BSP業者(Blog service provider 部落格服務提供者)，因為這些流量對於提供者而言是毫無意義的，例如：無名、sina..等等。
而對於個人而言，自己本身就是提供者，莫名的流量也可能是個相當困擾的問題，因為如果是以租賃虛擬主機的方式架設部落格，通常虛擬主機商都會限制流量，當你的流量過大時可能導致虛擬主機商暫停你的部落格主機空間，而且也會消耗不必要的頻寬。 
 今天看了 5 Fun and Practical Htaccess Solutions 這篇文章，覺得其中防止hotlinking那段很有趣，這個技巧同樣適用於wordpress防止圖片被盜連。

什麼是禁止外連圖片？
請嘗試把下面這一張圖片插入到你的部落格文章中，看看是不是能夠顯示？圖片放在我這邊，但是你卻直接在你的文章中使用這張圖片，這就是外連圖片，在此可以預先告訴你，正常情況下是不行的，在IE下將會看到一個俗稱「叉燒包」的東西，而在Firefox將會什麼都看不到。

圖片網址：http://blog.colorbase.tw/images/refuse-hotlink.gif
達成禁止外連圖片的原理
當瀏覽器讀取某網頁時，它會載入並分析該網頁的HTML是否包含額外的檔案，如圖片檔等等，並會向伺服器送出HTTP請求該圖片，而送出的HTTP請求中會包含一個referer請求，其內容就是該網頁的網址，如下圖所示，若網址「http://blog.colorbase.tw/」的網頁內容包含一個圖片，瀏覽器送出請求時referer即為「http://blog.colorbase.tw/」
因此如果我們可以得知該referer並加以判斷是否為我們所接受的網址，就可以阻擋其他網站外連圖片了。
要達成禁止圖片外連的方式有很多種，就我所知的BSP業者使用的方法通常不是本文所要提的方法，在這裡是要利用apache的mod_rewrite的功能以簡易的方式來判斷圖片的要求來源是不是被允許的網址。
wordpress的htaccess設定
如果你使用wordpress架部落格，而且你也在wordpress中「設定 &#62;&#62; 固定網址」中使用非預設網址格式選項，例如我設定為「自訂結構」，那麼恭喜你，這個技巧適合你使用，因為那代表你的主機支援以.htaccess來設定mod_rewrite，如果你原本不是設為自訂的網址，可嘗試向你的虛擬主機商確認是否支援以.htaccess來設定mod_rewrite。

當在wordpress設定固定網址為非預設選項時，wordpress會給你一段.htaccess的內容，如果wordpress有寫入的權限時它會自動幫你寫入，反之你則需要手動建立一個名稱為.htaccess的檔案，然後手動貼上這段內容；或許你使用非預設的格式很久了但你可能還不知道這段內容代表的意義是什麼，以下我為wordpress產生的htaccess內容加上註解。

#設定基準URL路徑
RewriteBase /
#當要求的URL不存在時
RewriteCond %{REQUEST_FILENAME} !-f
#當要求的URL不是目錄時
RewriteCond %{REQUEST_FILENAME} !-d
#交給index.php處理，並終止mod_rewrite的處理
RewriteRule . /index.php [L]

防止外連圖片的的htaccess設定
重點來了，依照原文的描述，我將其稍微修改且附上註解，並插入至wordpress原本的htaccess中，請打開你的.htaccess更改為以下內容。（請將網址更改為你的網址）

#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond %{HTTP_REFERER} !^$

#當referer不是由http://blog.colorbase.tw.colorbase.tw來的（即為外連）
RewriteCond %{HTTP_REFERER} !^http://blog.colorbase.tw.colorbase.tw [NC]

#當要求的網址為.jpg或.png或.gif圖片時，送出HTTP 403(被禁止的)的回應給瀏覽器，並終止mod_rewrite的處理
#所以當然就不會被盜連圖片了
RewriteRule \.(jpg&#124;png&#124;gif)$ - [NC,F,L]

#設定基準URL路徑
RewriteBase /
#當要求的URL不存在時
RewriteCond %{REQUEST_FILENAME} !-f
#當要求的URL不是目錄時
RewriteCond %{REQUEST_FILENAME} !-d
#交給index.php處理，並終止mod_rewrite的處理
RewriteRule . /index.php [L]


修改完畢後，你的部落格中所有的圖片將不得被外部直接使用。
只限定某目錄的圖片不被外部使用
雖然前面所提的修改設定已經可以讓部落格中所有的圖片無法被外部使用，但那樣做有個缺點，就是訪客不管要求什麼檔案、網址，都會先經過mod_rewrite的處理，這將可能會增加一些不必要的主機硬體負擔。
但我們知道，如果在wordpress中使用插入圖片的功能將會預設上傳至 /wp-content/uploads/ 中，因此可以另外建立一個.htaccess的檔案，其內容如下，將此檔案放置於/wp-content/uploads/ 中，變可針對此目錄進行禁止外連的處理，如此一來就可以減少一些主機硬體的負擔。（請將網址更改為你的網址）

#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond %{HTTP_REFERER} !^$

#當referer不是由http://blog.colorbase.tw.colorbase.tw來的（即為外連）
RewriteCond %{HTTP_REFERER} !^http://blog.colorbase.tw.colorbase.tw [NC]

#當要求的網址為.jpg或.png或.gif圖片時，送出HTTP 403(被禁止的)的回應給瀏覽器，並終止mod_rewrite的處理
#所以當然就不會被盜連圖片了
RewriteRule \.(jpg&#124;png&#124;gif)$ - [NC,F,L]


進階的禁止外連圖片做法
首先，先製作一個禁止外連的圖片提示圖（警告圖），例如下圖：

此圖的網址為：http://blog.colorbase.tw/refuse-hotlink/001.gif
將上一個禁止外連圖片的htaccess設定改為以下的內容（請將網址更改為你的網址）

#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond ...]]></description>
			<content:encoded><![CDATA[<p>大量的外連圖片將會導致增加許多莫名的流量，禁止外連圖片常見於各個BSP業者(Blog service provider 部落格服務提供者)，因為這些流量對於提供者而言是毫無意義的，例如：無名、sina..等等。</p>
<p>而對於個人而言，自己本身就是提供者，莫名的流量也可能是個相當困擾的問題，因為如果是以租賃虛擬主機的方式架設部落格，通常虛擬主機商都會限制流量，當你的流量過大時可能導致虛擬主機商暫停你的部落格主機空間，而且也會消耗不必要的頻寬。 </p>
<p> <span id="more-612"></span>今天看了 <a href="http://net.tutsplus.com/tutorials/other/5-fun-and-practical-htaccess-solutions/" target="_blank">5 Fun and Practical Htaccess Solutions</a> 這篇文章，覺得其中防止hotlinking那段很有趣，這個技巧同樣適用於wordpress防止圖片被盜連。
</p>
<p><strong><span style="color: #008080">什麼是禁止外連圖片？</span></strong></p>
<p>請嘗試把下面這一張圖片插入到你的部落格文章中，看看是不是能夠顯示？圖片放在我這邊，但是你卻直接在你的文章中使用這張圖片，這就是外連圖片，在此可以預先告訴你，正常情況下是不行的，在IE下將會看到一個俗稱「叉燒包」的東西，而在Firefox將會什麼都看不到。</p>
<p><img class="alignnone" alt="" src="/images/refuse-hotlink.gif" width="183" height="62" /></p>
<p>圖片網址：http://blog.colorbase.tw/images/refuse-hotlink.gif</p>
<p><strong><span style="color: #008080">達成禁止外連圖片的原理</span></strong></p>
<p>當瀏覽器讀取某網頁時，它會載入並分析該網頁的HTML是否包含額外的檔案，如圖片檔等等，並會向伺服器送出HTTP請求該圖片，而送出的HTTP請求中會包含一個referer請求，其內容就是該網頁的網址，如下圖所示，若網址「http://blog.colorbase.tw/」的網頁內容包含一個圖片，瀏覽器送出請求時referer即為「http://blog.colorbase.tw/」<span class="thickbox"><img class="alignnone size-medium wp-image-615" title="htaccess-conception" alt="" src="http://blog.colorbase.tw/wp-content/uploads/2009/07/htaccess-conception.gif" width="319" height="305" /></span></p>
<p>因此如果我們可以得知該referer並加以判斷是否為我們所接受的網址，就可以阻擋其他網站外連圖片了。</p>
<p>要達成禁止圖片外連的方式有很多種，就我所知的BSP業者使用的方法通常不是本文所要提的方法，在這裡是要利用apache的mod_rewrite的功能以簡易的方式來判斷圖片的要求來源是不是被允許的網址。</p>
<p><span style="color: #008080"><strong>wordpress的htaccess設定</strong></span></p>
<p>如果你使用wordpress架部落格，而且你也在wordpress中「設定 &gt;&gt; 固定網址」中使用非預設網址格式選項，例如我設定為「自訂結構」，那麼恭喜你，這個技巧適合你使用，因為那代表你的主機支援以.htaccess來設定mod_rewrite，如果你原本不是設為自訂的網址，可嘗試向你的虛擬主機商確認是否支援以.htaccess來設定mod_rewrite。</p>
<p><a class="thickbox" href="http://blog.colorbase.tw/wp-content/uploads/2009/07/001.png"><img class="alignnone size-medium wp-image-613" title="001" alt="" src="http://blog.colorbase.tw/wp-content/uploads/2009/07/001-350x207.png" width="350" height="207" /></a></p>
<p>當在wordpress設定固定網址為非預設選項時，wordpress會給你一段.htaccess的內容，如果wordpress有寫入的權限時它會自動幫你寫入，反之你則需要手動建立一個名稱為.htaccess的檔案，然後手動貼上這段內容；或許你使用非預設的格式很久了但你可能還不知道這段內容代表的意義是什麼，以下我為wordpress產生的htaccess內容加上註解。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2224fc2c-1abc-43b5-8be6-708b75e60aa4" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter">#設定基準URL路徑
RewriteBase /
#當要求的URL不存在時
RewriteCond %{REQUEST_FILENAME} !-f
#當要求的URL不是目錄時
RewriteCond %{REQUEST_FILENAME} !-d
#交給index.php處理，並終止mod_rewrite的處理
RewriteRule . /index.php [L]</pre>
</div>
<p><span style="color: #008080"><strong>防止外連圖片的的htaccess設定</strong></span></p>
<p>重點來了，依照原文的描述，我將其稍微修改且附上註解，並插入至wordpress原本的htaccess中，請打開你的.htaccess更改為以下內容。（請將網址更改為你的網址）</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7db2b772-ace1-4b2b-86e8-eb06ced3e647" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter">#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond %{HTTP_REFERER} !^$

#當referer不是由http://blog.colorbase.tw.colorbase.tw來的（即為外連）
RewriteCond %{HTTP_REFERER} !^http://blog.colorbase.tw.colorbase.tw [NC]

#當要求的網址為.jpg或.png或.gif圖片時，送出HTTP 403(被禁止的)的回應給瀏覽器，並終止mod_rewrite的處理
#所以當然就不會被盜連圖片了
RewriteRule \.(jpg|png|gif)$ - [NC,F,L]

#設定基準URL路徑
RewriteBase /
#當要求的URL不存在時
RewriteCond %{REQUEST_FILENAME} !-f
#當要求的URL不是目錄時
RewriteCond %{REQUEST_FILENAME} !-d
#交給index.php處理，並終止mod_rewrite的處理
RewriteRule . /index.php [L]
</pre>
</div>
<p>修改完畢後，你的部落格中所有的圖片將不得被外部直接使用。</p>
<p><span style="color: #008080"><strong>只限定某目錄的圖片不被外部使用</strong></span></p>
<p>雖然前面所提的修改設定已經可以讓部落格中所有的圖片無法被外部使用，但那樣做有個缺點，就是訪客不管要求什麼檔案、網址，都會先經過mod_rewrite的處理，這將可能會增加一些不必要的主機硬體負擔。</p>
<p>但我們知道，如果在wordpress中使用插入圖片的功能將會預設上傳至 <span style="color: #008000"><strong>/wp-content/uploads/</strong></span> 中，因此可以另外建立一個.htaccess的檔案，其內容如下，將此檔案放置於<span style="color: #008000"><strong>/wp-content/uploads/</strong></span> 中，變可針對此目錄進行禁止外連的處理，如此一來就可以減少一些主機硬體的負擔。（請將網址更改為你的網址）</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:bbde681b-84ba-44ed-9d2a-e3a1d3d4d413" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter">#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond %{HTTP_REFERER} !^$

#當referer不是由http://blog.colorbase.tw.colorbase.tw來的（即為外連）
RewriteCond %{HTTP_REFERER} !^http://blog.colorbase.tw.colorbase.tw [NC]

#當要求的網址為.jpg或.png或.gif圖片時，送出HTTP 403(被禁止的)的回應給瀏覽器，並終止mod_rewrite的處理
#所以當然就不會被盜連圖片了
RewriteRule \.(jpg|png|gif)$ - [NC,F,L]
</pre>
</div>
<p><strong><span style="color: #008080">進階的禁止外連圖片做法</span></strong></p>
<p>首先，先製作一個禁止外連的圖片提示圖（警告圖），例如下圖：</p>
<p><img class="alignnone" alt="" src="/refuse-hotlink/001.gif" width="210" height="62" /></p>
<p>此圖的網址為：http://blog.colorbase.tw/refuse-hotlink/001.gif</p>
<p>將上一個禁止外連圖片的htaccess設定改為以下的內容（請將網址更改為你的網址）</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:ff05df9d-0809-41d6-bf93-41b3a5d4b4ef" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter">#啟動URL重寫引擎
RewriteEngine On

#當有request包含referer時
RewriteCond %{HTTP_REFERER} !^$

#當referer不是由http://blog.colorbase.tw.colorbase.tw來的（即為外連）
RewriteCond %{HTTP_REFERER} !^http://blog.colorbase.tw.colorbase.tw [NC]

#當要求的網址為.jpg或.png或.gif圖片時
#置換為指定圖片，告知對方請勿外連圖片(請換為你指定的圖片網址)，並終止mod_rewrite的處理
RewriteRule \.(jpg|png|gif)$ http://blog.colorbase.tw/refuse-hotlink/001.gif [NC,L]
</pre>
</div>
<p>再嘗試把下面這一張圖片插入到你的部落格文章中，看看會有什麼結果。</p>
<p><img class="alignnone" alt="" src="/img_temp/refuse-hotlink.gif" width="183" height="62" /></p>
<p>圖片網址：http://blog.colorbase.tw/img_temp/refuse-hotlink.gif</p>
<p>參考文章：</p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/other/5-fun-and-practical-htaccess-solutions/" target="_blank">5 Fun and Practical Htaccess Solutions</a> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.colorbase.tw/wordpress/612/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

