我有一个CakePHP 1.3.10应用程序,我试图让它执行以下操作:
我想在一些视图中嵌入一个mp3文件,使用谷歌的阅读器闪存音频播放器。如果我把mp3文件放在我的应用程序的webroot目录中,没有问题。但是,我希望将这些文件放在名为 AUDIO 的目录中,与我的app目录相同。像:
[public_html]
[app]
[cake]
[AUDIO]
...
问题在于,如果我将mp3文件放在那里,当我从我的视图中链接到它们时,Cake会查找不存在的控制器音频,而不仅仅是链接我的文件。我相信这与路由有关,所以我想知道是否可以禁用特定文件夹的自动路由(在这种情况下为**音频)。
我想以这种方式做到这一点,因为将来我可能不得不从其他网站访问这些mp3,所以我不想把它们深入到cake的目录系统中。
非常感谢您提出任何提示!
答案 0 :(得分:1)
CakePHP将无法自动查找其不知道的文件夹中的文件。
我建议使用Media Views来提供自定义目录中的文件。
如果您希望它们可以免费下载,您也可以使用MediaView执行此操作,或将它们放在webroot内的自定义文件夹中。但是,您需要在路径等中包含该文件夹。
答案 1 :(得分:1)
应该由Web服务器直接提供而不通过Cake的文件应该放在/app/webroot
目录中。你也可以在插件中创建这样一个/webroot
目录(参见here),它在技术上将使用路由,但行为与一般的webroot目录相同。
如果你将它们放在其他任何地方你会反对蛋糕约定,我不推荐。不是因为它不可能,你只是让你的生活变得更加困难。您可以编辑/app/webroot/.htaccess
文件,将某些URL重写为存储文件的位置,或者使用媒体视图(如@Ivo所指出的),如果您真的想这样做的话。