无法使用nginx访问cakephp中webroot内的文件.php

时间:2014-03-23 13:01:21

标签: php mysql cakephp ubuntu nginx

我的VPS符合此规范:

  • Ubuntu的
  • Nginx的
  • MySQL的

所以我在名为 gogon 的子文件夹中使用CakePHP制作项目。该项目可以完美地运行和访问。网站网址可以访问 example.com/gogon

问题

我将responsivefilemanager(responsivefilemanager.com)放在webroot文件夹中作为 filemanager ,但当我想访问filemanager( dialog.php )站点中的PHP文件时只需渲染我的 index.php 文件,例如example.com/index.php

我的文件夹的结构:

-example.com
---的index.php
--- gogon(cakephp项目)
----- index.php文件
-----应用
---------配置
---------...
---------...
---------...
---------根目录
-------------文件管理
---------------- dialog.php
----- LIB
-----插件
-----厂商

这是我的nginx配置

server {
    listen   80;
    root /var/www/html;
    index index.php index.html index.htm;

    server_name example.com www.example.com;

    location / {
            try_files $uri $uri/ $uri.php /index.php;
    }

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
          root /var/www/html;
    }   


    location /gogon {
            rewrite_log on;
            error_log /usr/share/nginx/error.gogon.log error;

            if (-f $request_filename) {
                    break;
            }

            # Avoid recursivity
            if ($request_uri ~ /webroot/index.php) {
                    break;
            }

            rewrite ^/gogon$ /gogon/ permanent;
            rewrite ^/gogon/app/webroot/(.*) /gogon/app/webroot/index.php?url=$1 last;
            rewrite ^/gogon/(.*)$ /gogon/app/webroot/$1 last;

    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~* \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;

    }
}

0 个答案:

没有答案