我知道問題似乎沒有什麼問題,但我找不到更好的方法來問。我可以用htaccess mod_rewrite發佈另一個網站的圖像嗎?
我有幾個網站,並有很多圖像是常見的。所以我決定從一個來源發佈公用文件,而不是使用更多的磁盤空間。但我也不希望訪問者知道它,並希望顯示從自己的域發佈的所有內容。
我可以從http://domain2.com/image.jpg請求http://domain1.com/image.jpg嗎?我嘗試了一些組合,但不能成功!
謝謝!
我知道問題似乎沒有什麼問題,但我找不到更好的方法來問。我可以用htaccess mod_rewrite發佈另一個網站的圖像嗎?
我有幾個網站,並有很多圖像是常見的。所以我決定從一個來源發佈公用文件,而不是使用更多的磁盤空間。但我也不希望訪問者知道它,並希望顯示從自己的域發佈的所有內容。
我可以從http://domain2.com/image.jpg請求http://domain1.com/image.jpg嗎?我嘗試了一些組合,但不能成功!
謝謝!
如果資源是在同一個地方,你可以輕鬆地配置您的Web服務器從不同的位置服務,例如,Apache的虛擬主機配置想是這樣的:基於
<VirtualHost *:80>
DocumentRoot /var/path/to/images
ServerName domain1.com
ServerAlias domain2.com
</VirtualHost>
更新在附加信息
如果您想要從domain1.com/images
和domain2.com/images
供應圖像,您可以通過兩種方式。
1)朝向相同的圖像文件夾的別名創建兩個虛擬主機:
<VirtualHost *:80> DocumentRoot /var/path/to/domain1.com/files ServerName domain1.com Alias /images/ /var/path/to/images </VirtualHost> <VirtualHost *:80> DocumentRoot /var/path/to/domain2.com/files ServerName domain2.com Alias /images/ /var/path/to/images </VirtualHost>
2)創建一個符號鏈接,例如:
$ LN -s /無功/ path/to/images /var/path/to/domain1.com/files
$ ln -s/var/path/to/images /var/path/to/domain2.com/files
您正在映射上述兩種情況下的相同位置,它只是一種不同的方法。
假設domain1.com和domain2.com在同一個本地網絡上,而不是使用mod-rewrite,我會建議創建符號鏈接到共享圖像文件夾,以便它們可以在每個站點中訪問如果他們是本地目錄。你需要在你的htaccess文件中啓用符號鏈接才能正常工作,但與使用mod-rewrite相比,這樣做要麻煩很多。
如果他們不在同一個網絡上,那麼在另一個域中使用301重定向到同一文件名的mod重寫應該能夠做到這一點。
另一件值得一提的事情是,通常從第二個域名提供圖像可能是一種很好的做法。例如,如果你去雅虎,你會發現他們的圖片是從yimg.com
的子域名中提供的,即使你已經瀏覽了yahoo.com。由於瀏覽器和Web服務器對可從同一域下載的文件數量有限制,所以這對於性能調整站點是一種很好的做法,因此在多個域之間的單個頁面上拆分請求可以讓更多文件同時被提供並減少每臺服務器的負載。因此,您最好的選擇可能是將圖像放置在一箇中心位置,在這些位置可以在自己的域名下爲所有域名提供服務。
感謝您的建議Spudley。現在域名在同一網絡上,但如果我能做到這一點,我打算將靜態內容移動到更便宜的主機上。這將像你的第三段。謝謝。 – Kemal 2011-04-19 11:59:58
呃,爲什麼用戶不可能看到它?靜態內容服務器或CDN是絕對正常的 - 無論如何,你可以在你的服務器之間建立一個文件系統掛載,或者代理它 – Hannes 2011-04-19 11:59:12
我不希望關係公開,這就是爲什麼。感謝您的建議。 – Kemal 2011-04-19 12:01:57