2011-11-27 37 views
4

最近我購買了CDN並進行了設置。在我的網站中,圖像存儲在名爲'圖像'的文件夾中,圖像網址顯然以這種方式鏈接。 (* Ex:images/some_image.png *)CDN相關:從.htaccess自動重寫圖片URL

由於我想使用CDN正確的方式,我需要重寫URL而不必手動更改每個圖像路徑。

我想這是建議類似的問題

RewriteEngine On 
RewriteBase/
RewriteRule ^images/(.*)$ http://cdn.mydomain.com/$1 [L,R=301] 

但是,這似乎並沒有因爲所有的圖像被不當鏈接到正常工作一個.htaccess代碼。

所以我想知道這段代碼的變化。任何迴應將不勝感激。

+0

你的Url重定向到'http:// cdn.mydomain.com/some_image.png',你希望他們重定向到什麼位置,即你的意思是他們沒有正確鏈接? –

+4

嘗試'RewriteRule ^(images /.*)$ http://cdn.mydomain.com/$1 [L,R = 301]'。但是如果每張圖片需要2個http請求下載,CDN的用途是什麼?一個返回301,另一個返回實際資源。您確實需要更改html,以提高速度,並減少常規web服務器上的流量/負載。 – Gerben

+0

@Gerben謝謝。這解決了問題。我明白你的雙重http請求。會直接改變html。 –

回答

9

這應該工作:

RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ 
RewriteRule ^images\/?(.*)$ "http\:\/\/cdn\.yourdomain\.com\/$1" [R=301,L] 

但是,請注意,這只是一個暫時的解決方案!
爲了最大限度地利用CDN,您需要手動將圖像指向CDN,以便爲每個圖像保存一個HTTP。