0

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

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

File Helper 中的directory_map 或get_dir_file_info能否不遵循符号链接(在 .htaccess 文件中启用了遵循符号链接)?

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

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

提前致谢!

4

1 回答 1

0

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

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

于 2013-11-02T16:21:42.323 回答