Apache配置項目圖片地址映射

項目需求

將服務器物理磁盤上的某個目錄,映射到apache能夠訪問到的url地址上。以此來達到圖片和代碼的分開部署,同時也方便項目後期的文件遷移,當圖片資源變的越來越大,大到需要幾個小時,甚至一整天的時間,來遷移圖片資源時,這種分開部署的優勢,將會更加明顯。

解決方案

方案一

搭建獨立的圖片服務器,用來處理所有的圖片資源,該方案有可能會涉及到資源的跨域訪問問題。

方案二

利用apache的Alias指令,將文件系統的任何部分映射到網絡空間中。

此處只討論方案二的實現方式,具體步驟如下:

1. 新增alias配置文件

在apache的conf/extra目錄下,新建一個文件,文件名隨意,假設爲:httpd-alias.conf,內容如下:

Alias /spider/uploads "D:/spider/uploads"
<Directory "D:/spider/uploads">
  Options FollowSymLinks
  AllowOverride all
  Require all granted
</Directory>

/spider/uploads是圖片資源的web訪問地址。

D:/spider/uploads是一個實實在在的物理文件目錄,用來存儲項目的所有圖片資源。

假設D:/spider/uploads目錄下有一個圖片資源,名字爲test.png,那麼,通過http://域名//spider/uploads/test.png這個url地址,將會訪問到test.png這個圖片。

2. 引入httpd-alias.conf文件

在apache的httpd.conf配置文件中,加入一行,如下:

# Alias
Include conf/extra/httpd-alias.conf

3. 圖片上傳

應用程序中,將圖片資源的上傳根目錄設置爲D:/spider/uploads,同時,將圖片的相對地址,保存在數據庫中。假設我們上傳了一張圖片,物理地址爲D:/spider/uploads/users/avatar/615672566466.png,那麼,只需要將/users/avatar/615672566466.png這一部分保存在數據庫中,然後通過http://域名//spider/uploads/users/avatar/615672566466.png這個url地址,即可訪問到該圖片資源了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章