0

CMS アプリケーションでは、同じサーバー上の別のドメインからファイルにアクセスする必要があります。"/var/www/vhosts/CMS/httpdocs/" の CI アプリから、directory_map ('/var/www/vhosts/other_domain/httpdocs/assets/') を試みましたが、成功しませんでした -- ホワイト ページとエラーはありません.

そこで、アセット ディレクトリへのシンボリック リンクを CI アプリケーションのルートに配置することにし、directory_map('./assets/') と directory_map('assets/') を使用して、どちらも白いページを返し、エラーは発生しませんでした。

File Helper のdirectory_map またはget_dir_file_infoは、シンボリック リンクをたどらないことがありますか (.htaccess ファイルで symLinks の追跡がオンになっています)。

そうでない場合は、Assets フォルダーが CI アプリに対してローカルであるかのように機能するように、アプリをセットアップすることをどのように提案しますか。CMS として、アセットをアップロード、コピー、移動、および削除する必要があり、ローカルであることで open_basedir の制限を回避できます。

この CMS は 78 のサイトを担当しているため、すべてのアセットを一種の自家製 CDN にまとめることが重要です。

前もって感謝します!

4

1 に答える 1

0

CI が実行されている / ファイルを所有している UNIX ユーザーが、ci アプリケーション ルート フォルダー内のシンボリック リンクにアクセスする権限を持っていることを確認してください。アクセスできます。また、Apache の設定方法によっては、そのフォルダへの Apache ユーザー アクセスも許可する必要がある場合があります。

directory_map については知りませんが、CI を使用したことはありません。ローカルでは、/var/www/html/ に Web ファイルがあり、/home/cdn/san/ に cdn のストレージ ファイルがあります。 /var/www/html/cdn/ に ln -s があります -> / home/cdn/san/ 次に、var フォルダーのシンボリック リンクに 777 を設定し、すべてのファイルが cdn ユーザー スペースに存在するため、すべてのファイルのファイル所有権は cdn ユーザーにあります。私のApacheはhttpdとして実行されますが、すべて問題なくアクセスできます。それが理にかなっていることを願っています

于 2013-11-02T16:21:42.323 に答える