2010-09-07 73 views
0

塊請求我有這樣PHP - 從其他域

http://www.domain1.com/files/domain1.com/files/def.jpg 

http://super.domain1.com/files/super.domain1.com/files/abc.jpg 

http://www.other1.com/files/other1.com/files/uhj.jpg 

這些網站都託管在同一託管和共享文件夾的鏈接。我們通過使用名爲像網站域名的子文件夾將它們分開。然而,文件屬於domain1.com的:

http://www.domain1.com/files/domain1.com/files/def.jpg 

可以與URL

http://www.other1.com/files/domain1.com/files/def.jpg 

達到怎樣預防呢?

+0

您需要編寫一個重寫規則,檢查引用鏈接,然後允許/拒絕訪問實際文件。 – fabrik 2010-09-07 10:46:41

+0

我_think_這是更多的配置/佈局的問題,因此應該在http://serverfault.com處理(不知道雖然...) – VolkerK 2010-09-07 10:48:28

+0

因此,實際上你是共享文件夾,但不想分享它。在那裏看到解決方案?只將您實際想要共享的文件放入共享文件夾,並將其他文件(即您的def.jpg)保存在域之間不共享的子文件夾中。 – wimvds 2010-09-07 13:18:42

回答

0

爲每個域分別獲取配置vhost到域文件夾。

vhost config的示例我在下面發帖。

<VirtualHost *:80> 

     ServerAdmin [email protected] 
     ServerName www.domain1.com 

     DocumentRoot /home/domains/files/super.domain1.com/ 

     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 

     <Directory /home/domains/files/super.domain1.com/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 

     ErrorLog /var/log/apache2/error.log 
     LogLevel warn 
     CustomLog /var/log/apache2/access.log combined 

</VirtualHost> 

<VirtualHost *:80> 

     ServerAdmin [email protected] 
     ServerName domain1.com 

     DocumentRoot /home/domains/files/super.domain1.com/ 

     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 

     <Directory /home/domains/files/super.domain1.com/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 

     ErrorLog /var/log/apache2/error.log 
     LogLevel warn 
     CustomLog /var/log/apache2/access.log combined 

</VirtualHost>