在cakePHP中访问webroot中的简单txt文件

时间:2014-02-20 13:02:34

标签: php cakephp rewrite

我的cakePHP应用程序在webroot目录中生成一个简单的文本文件。

我尝试通过在浏览器中输入http://<my own domain>/simple.txt来访问它,但是显示了应用程序索引页面,而不是我的文本文件。

如何直接访问此文本文件? 请帮帮我!

3 个答案:

答案 0 :(得分:2)

只有webroot可通过网络访问

猜测,您有以下结构(或类似):

docroot
    app
        Config/
        Controller/
        Model/
        Plugin/
        Test/
        tmp/
        View/
        webroot/
    lib/
    ...
    simple.txt

该文件simple.txt 无法访问到浏览器。原因是,假设启用了mod_rewrite,所有请求都被重写为foo - &gt;顶级.htaccess文件的app/webroot/foo

要使文件可访问,只需将其放入webroot:

docroot
    app
        Config/
        Controller/
        Model/
        Plugin/
        Test/
        tmp/
        View/
        webroot/
            simple.txt <- moved
    lib/
    ...

请注意,如果这是问题,那么您有一个development install - 使用生产安装会更好(让您的网络服务器指向webroot文件夹,而不是整个应用程序的根目录) )。

答案 1 :(得分:0)

首先,将其添加为解析的扩展名:

Router::parseExtensions('txt');

然后,创建一个连接路由:

Router::connect('/simple.txt', array('controller' => 'examplecontroller', 'action' => 'simple');

现在,您将在http://yourproject.com/simple.txtsimple()视图中控制examplecontroller方法内的simple.ctp输出。

这不是你指定的方式,但它肯定是有效的,它完成了“蛋糕方式”

答案 2 :(得分:-1)

这些url://simple.txt对我来说似乎不对。应该是这样的:

://yourhost/yourproject/simple.txt

我通常可以在我的本地蛋糕php项目上以这种方式访问​​它。