目录映射符号链接


Directory Map a Symbolic Link

在CMS应用程序中,我必须在同一台服务器上访问来自另一个域的文件。从"/var/www/vhosts/CMS/httpdocs/"中的CI应用程序中,我尝试directory_map('/var/www/vhosts/other_domain/httpdocs/assets/')但没有成功 - 白页,没有错误。

因此,我决定在 CI 应用程序的根目录中放置一个指向 assets 目录的符号链接,并使用 directory_map('./assets/') 和 directory_map('assets/'),两者都返回一个白页并且没有错误。

文件帮助程序中的directory_map或get_dir_file_info可以不遵循符号链接(在 .htaccess 文件中打开了 symLinks)吗?

如果没有,您如何建议我设置应用程序,以便可以对资产文件夹进行操作,就好像它是 CI 应用程序的本地文件夹一样。作为CMS,我需要上传,复制,移动和删除资产,并且本地可以防止open_basedir限制。

该CMS负责78个站点,因此将所有资产放在一种自制的CDN中至关重要。

提前感谢!

确保运行 CI 的 unix 用户/拥有这些文件有权访问 ci 应用程序根文件夹中的符号链接,因此如果您在/home/ciap/assetsfromvar/chmod 中创建了 ln,以便您的 ciap 用户可以访问它。此外,根据 apache 的配置方式,您可能还必须允许 apache 用户访问该文件夹

不知道directory_map从未使用过CI我自己总是觉得它有点可怕,所以避免了它。在本地,我在/var/www/html/中有一个 cdn 的存储文件,我在/home/cdn/san/中有一个 ln -s 在/var/www/html/cdn/->/home/cdn/san/中,我在 var 文件夹中的符号链接上设置了 777,所有文件的文件所有权都归 cdn 用户所有,因为所有文件都存在于 cdn 用户空间中。我的 apache 以 httpd 运行,但可以访问它。希望这是有道理的