在/data/code_img/文件下有不少驗證碼圖片,想將他們展現出來
但願經過 http://127.0.0.1/img/1.png 這種形式訪問到對應圖片,剛開始nginx中配置以下html
server { server_name location; root /data/code_img; location = / { } location = /index.html { } location ^~ /img/ { root /data/code_img/; } location ^~ /static { } location / { proxy_pass http://127.0.0.1:80/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
圖片在對應文件下存在時,仍難訪問失敗,返回404nginx
經過日誌發現,實際訪問http://127.0.0.1/img/1.png 時,請求的文件地址爲 /data/code_img/img/1.png ,而這個路徑是不存在的,因此返回404瀏覽器
纔想到是root 路徑配置問題。
應該將日誌
location ^~ /img/ { root /data/code_img/; }
改成code
location ^~ /img/ { alias /data/imgs/; }
這樣,再次訪問時就能夠正常訪問了server
當我一樣瀏覽器訪問 http://127.0.0.1/img/1.pnghtm
使用root 會映射爲 /data/code_img/img/1.png圖片
使用alias 會直接映射 /data/code_img/1.pngrem