将Yii2从Apache迁移到Nginx - 在后端应用程序

时间:2016-06-24 08:45:25

标签: php apache nginx yii2

我尝试将我的Yii2应用程序从使用apache移动到nginx。我在单个域上使用Yii2高级模板,因此我按照this link中的解决方案创建了从frontend/webbackend/web的符号链接。当我使用apache时,此解决方案正常工作,但是当我尝试使用nginx时,我无法打开后端应用程序。

前端应用程序工作正常,但当我尝试使用app.local/belakang打开后端应用时,它会被重定向到app.local/belakang/site/login,但仍然停留在前端应用中,因此会提供{{1} }

以下是我在[yii\web\HttpException:404] exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "belakang/site/login".'目录中的符号链接:

frontend/web

这是我使用的nginx vhost配置:

lrwxrwxrwx  1 vagrant vagrant   17 Jun 24 14:03 belakang -> ../../backend/web

任何人都可以提供帮助,以便我可以从server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 server_name app.local; root /var/www/html/frontend/web; index index.php; location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php$is_args$args; } # deny accessing php files for the /assets directory location ~ ^/assets/.*\.php$ { deny all; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; try_files $uri =404; } location ~* /\. { deny all; } } 打开后端应用程序吗?

1 个答案:

答案 0 :(得分:0)

通过在

下添加配置来自行修复
location ^~ /belakang {
        try_files $uri $uri/ /belakang/index.php$is_args$args;

        location ~ /\.(ht|svn|git) {
            deny all;
        }

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php/php5-fpm.sock;
            try_files $uri =404;
        }
    }