2

在这里遇到了一些问题,而我想配置我的 apache 服务器以让一个子域访问另一个文件(共享),以消除直接 URL 调用的需要和开销。

例如,我希望我的主域 (site.domain.com) 访问位于“共享”域 (share.domain.com/images) 中的图像。

目录结构如下:

- subdomains
    - site
    - share

我有一个包含以下内容的 site.domain.com/index.html 文件...

<img src="http://share.domain.com/images/img.jpg"> (works)
<img src="../share/images/img.jpg"> (does not work)

而且无论我添加多少“../”,我仍然无法离开目录。当我对不起作用的图像执行“查看图像”时,会显示该图像。

我该如何解决这个问题?

4

2 回答 2

1

免责声明:我不是专家。

我认为您无法访问共享区域的原因是不在您的DocumentRoot,在查看文档后,我认为您想要的是Alias指令;可在以下位置找到相关文档:

http://httpd.apache.org/docs/2.2/mod/mod_alias.html#alias

使用示例如下:

Alias /share path-to-share
<Directory path-to-share>
    Order allow,deny
    Allow from all
</Directory>

您需要将其放入<VirtualHost>配置中的块中。这样做映射/share/imgages/img.jpg到,<path-to-share>/images/img.jpg以便您可以访问它,就像文件在您的DocumentRoot.

使用此设置,您的示例将变为:

<img src="http://share.domain.com/images/img.jpg"> (works)
<img src="/share/images/img.jpg"> (should work)

我希望这会有所帮助。

于 2012-12-13T18:11:34.157 回答
1

假设您的站点位于/var/www/site(site.domain.com) 下,而您的共享文件夹位于/var/www/share(share.domain.com) 下。

If you would like to have share as just a subdirectory accessible from site.domain.com/share all you will need to do its to create a symlink from /var/www/share to /var/www/site/share:

ln -s /var/www/share /var/www/site/share
于 2012-12-13T19:44:33.723 回答