2013-01-20 68 views
0

我試圖採用這個重寫規則,並且只能在後端重寫(句柄),我不希望用戶的URL實際發生更改。我的目標是將i.website.com放在CDN上,但將其餘網站留在CDN上。現在,i.website.com轉發到www.website.com/images/,但我想只是在後端處理,並在用戶訪問i.website.com/asdasd.jpg時將其設置爲「 t轉發網址以便CDN有效?如何僅在後端重寫URL

我想我得到了正確的...無論如何這裏是我目前的重寫,也許有更好的方法來做到這一點,我願意接受建議並願意回答任何進一步的問題。

感謝

RewriteCond %{HTTP_HOST} ^i\.website\.com [NC] 
RewriteRule ^(.+)$ http://www.website.com/images/$1 [L,R=301] 
+1

所以你想代理它? http://httpd.apache.org/docs/2.2/mod/mod_proxy.html如果是這樣,代理來自CDN的內容將會破壞擁有CDN的目的。 –

+0

我不確定,也許這就是我想要的。我想將i.website.com加載到CDN上,但我沒有單獨的服務器來運行這個應用程序的這一小部分。該應用程序旨在將www.website.com/images/並將其提供給正確的腳本,但不是i.website.com,也是www.website.com/images/用於i.website之前的很多鏈接.com被引入 – MasterGberry

回答

1

基於您的評論,我認爲這種情況可能是你在找什麼:

在本地服務器上,您託管www.website.com,包括WWW。 website.com/images就像你現在所做的一樣。

在CDN上,您託管了i.website.com。您可以將CDN設置爲從www.website.com/images中爲i.website.com提取內容,就像您的重寫規則現在一樣(現在您的服務器上不需要重寫規則)。

唯一的問題是,當你說「該應用程序設計爲將www.website.com/images/並將其提供給正確的腳本,而不是i.website.com」時,你的意思是說應用程序/腳本從www.website.com/images提取內容以進行處理,或者您的意思是應用程序/腳本寫出鏈接到www.website.com/images上的圖像但不在i.website.com上的網頁?

如果只是需要從www.website.com/images/提取內容的應用程序/腳本,只要網站的頁面可以通過圖像鏈接寫入i.website.com即可。在這種情況下,最後一點是,您基本上將您的重寫規則顛倒過來,將所有外部流量從www.website.com/images/引導至i.website.com,以便處理較舊的鏈接,同時保持內部流量(您的應用程序/腳本)從www.website.com/images/拉。