我想訪問位于(例如 "example.com/images/one.jpg")的圖片檔案夾。 我已經創建了一個子域,命名為(如 "subdomain.example.com")。 兩個域名的檔案夾都在同一個public_html中。 我怎樣才能授權我的子域,它可以使用htaccess規則或其他任何東西來訪問檔案。我在檔案名前累了這個"././",但不作業。
注意:我不想把整個路徑放在根域中訪問檔案,如https://......
謝謝你
uj5u.com熱心網友回復:
瀏覽器處理的是URL,而不是你檔案系統上的路徑。
聽起來你已經配置了你的服務器,使影像只在example.com上可用,而在subdomain.example.com上不可用。
因此,您需要告訴瀏覽器從其他主機名訪問影像。
src="//example.com/images/one.jpg"
uj5u.com熱心網友回復:
如果你有一個domain.com和sub.domain.com,這是兩個完全不同的路徑。你不能使用參考作為路徑來獲取對方的資料,比如'.../images/foo.png'。
在這種情況下,你必須把所有的路徑https://www.sub.domain.com/images/foo.png。這與你使用子域作為資源時需要做的相同,以便減少你的網站對影像和資源的請求數量。
uj5u.com熱心網友回復:
我在.htaccess檔案中做了一點服務器配置。我寫了一個規則,即任何圖片都不能公開訪問。但我想授權我的子域,它可以訪問圖片的URL.
。
。 :
注意:兩個域名都在同一個public_html目錄下
你似乎需要一個例外的子域,并阻止其他主機名?
這有點讓人猜不透你目前是如何做到這一點的--也許是用mod_authz_core和一個<FilesMatch>容器?或者使用mod_rewrite?或者Apache的<If>運算式?
你可以使用mod_rewrite,在根.htaccess檔案的頂部附近做如下事情,以阻止對所有影像的訪問,除非是通過子域訪問。
RewriteEngine On
# 阻止(403 Forbidden)所有圖片請求,除非通過子域訪問。
RewriteCond %{HTTP_HOST} !^subdomain.example.com
RewriteRule . (jpe?g|png|webp|gif)$ - [F] 。
現在,形式為https://example.com/images/one.jpg的請求將被阻止,但https://subdomain.example.com/images/one.jpg將被訪問。
我不想放一個完整的路徑來訪問根域中的檔案。
但是你將需要使用一個絕對的(或與協議相關的)URL來從子域訪問檔案。
更新:
我的父域 "example.com "中的當前規則
RewriteCond %{HTTP_REFERER}! !^https://example.com/ [NC] 重寫規則 . (gif|jpg|jpeg|png|mp4|mov|mkv|flv|svg)$ - [F,L] 重寫引擎開啟 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
啊,所以你已經實施了一種熱鏈保護形式! 在這種情況下,你似乎只需要修改第一個條件,以允許來自子域的請求。例如:
RewriteCond %{HTTP_REFERER} ! !^https://(subdomain.)? example.com/
允許來自 example.com和subdomain.example.com的請求。NC標志應被省略。所有的瀏覽器都會在請求中小寫主機名。
不需要其他規則來 "允許 "訪問。你不需要使用絕對的 URL 來訪問這些資源 - 因為這似乎不是你要阻止的。您只需要能夠從另一個主機(即子域)訪問這些資源即可。
總結:
RewriteEngine On
# 熱鏈接保護
RewriteCond %{HTTP_REFERER}! !^https://(subdomain.)? example.com/
RewriteRule . (gif|jpg|jpeg|png|mp4|mov|mkv|flv|svg)$ - [F]
#HTTP到HTTPS的重定向
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
L標志不需要與F標志一起使用,因為它是隱含的。
^(.*)$是不必要的,因為沒有使用反向參考。只要有^就足夠了,而且更有效率--對所有的東西都能成功,而不必真的match所有的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/310715.html
標籤:
