在这里遇到一些问题,而我想配置我的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)
无论有多少“../”我添加我仍然无法退出目录。当我对那个不起作用的人进行“查看图像”时会显示。
我该如何解决这个问题?
答案 0 :(得分: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)
我希望这会有所帮助。
答案 1 :(得分:1)
让我们假设您的网站位于/var/www/site
下(site.domain.com)
并且您的共享文件夹位于/var/www/share
(share.domain.com)。
如果您希望共享只是一个可从site.domain.com/share
访问的子目录
所有你需要做的就是创建一个从/var/www/share
到/var/www/site/share
的符号链接:
ln -s /var/www/share /var/www/site/share