我尝试将我的Yii2应用程序从使用apache移动到nginx。我在单个域上使用Yii2高级模板,因此我按照this link中的解决方案创建了从frontend/web
到backend/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;
}
}
打开后端应用程序吗?
答案 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;
}
}