2013-11-23 92 views
0

我有一個像example.com這樣的域,其中根目錄是web。 我創建了一個子域名happy.example.com,其目錄位於名爲happy的web文件夾之外並將其連接到happy.example.com。使用htaccess從子目錄中的根目錄讀取圖像

我的網頁樹看起來像

happy 
web/images 

所以我所有的根目錄圖像存儲在(網頁/圖片)

example.com/images 

所以到圖像的完整路徑可以

example.com/images/me.png 

現在我創建了一個我打電話給的sudbdomain:

happy.example.com 

什麼,我想要做的是,如果我輸入

happy.example.com/images/me.png 

的話,我應該能看到的畫面。 所以不知何故,我需要將所有圖像文件夾鏈接到網站根目錄的子域。 我希望你們有我的問題。 我想我應該有一個htaccess文件與所有有趣的東西在幸福文件夾?

Cheerz

回答

2

因爲你的兩個域的兩個文件的根沒有相互連接(一個接一個,或相同的內徑),你需要或者重定向或代理,或者使用腳本。

重定向是最簡單的,但它會在瀏覽器的地址欄更改URL:

Redirect 301 /images http://example.com/images 

或使用mod_rewrite:

RewriteEngine On 
RewriteRule ^images/(.*)$ http://example.com/images/$1 [L,R=301] 

爲代理服務器,你需要有mod_proxy的加載,如果您使用虛擬主機或託管服務,情況並非總是如此。但是你可以使用P標誌的mod_rewrite做到這一點:

RewriteEngine On 
RewriteRule ^images/(.*)$ http://example.com/images/$1 [L,P] 

最後一個選項是路由所有請求至一個腳本,如PHP腳本什麼的。和腳本本身返回圖像:

RewriteEngine On 
RewriteRule ^images/(.*)$ /load_image.php?image=$1 [L] 

,那麼你就會有這樣的:

<?php 
    header("Content-type: image/jpeg"); 
    readfile('../web/images/' . $_GET['image']); 
?> 

很顯然,你需要檢查的延伸和返回根據圖像的正確內容類型類型。

+0

我可以給你最大的擁抱:) mod_rewrite選項爲我工作... – Mensur