私は、ディレクトリ構造を以下ました:cfincludeタグ:テンプレートが見つからない例外+シンボリックリンク+ CF 9.0.1
/user1/
/user1/bla.cfm
/index.cfm
とusers
というディレクトリを作成しました:
/users/
/user1/
/user1/bla.cfm
/index.cfm
私はシンボリックを設定しました/ user1/to/users/user1 /からのリンク(ln -s
のlinuxの下にあります)を試し、<cfinclude>
にうまくいったbla.cfmを試してみました。 index.cfmにより:
<CFINCLUDE template="users/user1/bla.cfm" />
いくつかのテストの後、私は(/ユーザー/ user1の/)シンボリックリンクを削除し、実際のディレクトリ/ user1の/に/ユーザー/ USER1 /を移動しました。突然bla.cfmが私にテンプレートを含めることを許可せず、例外が見つからないテンプレートを投げました。
/users/user1/to/user1 /からシンボリックリンクを設定した後、<cfinclude>
が再び動作しました。私は私たちの開発サーバー上でこれを再現することはできません!どのようにこれを修正するためのヒント?
Btwすべてのユーザーディレクトリ(user2、user3など)の内部にbla.cfmがあり、2つしか上記の問題があります。これらのユーザーはアクティブで、symlink経由でbla.cfm
が含まれていたようです。これらのシンボリックリンクとそのターゲットはどこかにキャッシュされていますか?
EDIT:
私はすでにCFAdminでテンプレートキャッシュをクリアしてみました。
さらなる試験:index.cfmにから :
expandpath("https://stackoverflow.com/users/user1/bla.cfm") -> correct path
fileexists(expandpath("https://stackoverflow.com/users/user1/bla.cfm")) -> saying "YES"
しかし:
fileexists(expandpath("users/user1/bla.cfm")) -> saying "NO"
管理者のテンプレートキャッシュをクリアしましたか? – jan
expandpath( "users/user1/bla.cfm")をダンプして、それが予想される場所かどうか確認しましたか? – jan