2 个不同站点的通用图像文件夹

Common image folders for 2 different sites

我即将开始开发一个新网站,该网站将使用相同的数据库和相同的图像。它们都将托管在同一个托管专用服务器中。我真的不想复制图像文件夹,也不想使用绝对网址:<img src="http://www.site1.com/images/img.png" ... />

这样做的最佳解决方案是什么?

您向每个虚拟主机配置添加另一个 Alias 条目。这样你就可以在两个页面中创建一个 "virtual 'images' folder" ,它在内部解析到物理文件系统中的同一个文件夹:

<VirtualHost *:80>
    ServerName www.site1.com
    [...]
    Alias /images /path/to/physical/images/folder
    <Directory /path/to/physical/images/folder>
        Order allow,deny
        Allow from all
        [...]
    </Directory
    [...]
</VirtualHost>

.

<VirtualHost *:80>
    ServerName www.site2.com
    [...]
    Alias /images /path/to/physical/images/folder
    <Directory /path/to/physical/images/folder>
        Order allow,deny
        Allow from all
        [...]
    </Directory
    [...]
</VirtualHost>

现在您可以在两个站点中使用像 <img src="/images/img.png"> 这样的图像,并且请求将被路由到同一个物理文件夹。

显然还有其他解决方案,使用环回接口在内部将图像文件夹挂载到文件系统中的第二个位置或使用符号链接。不过以上才是我眼中最优雅的...