如何为 Laravel 和 Yii 项目正确配置 Nginx?

6

我正在尝试配置nginx来在同一个域名上为laravel和yii项目提供服务。我的laravel项目可以正常工作。Yii项目也可以工作,但是yii项目中的assets文件夹会出现err_abortednot found 404错误。所有js css ...文件都无法找到。

server {

server_name mydomain.com;
index index.html index.php;
charset utf-8;
set $base_root /var/www;
# App 1 (main app)
location / {
    root $base_root/telemele/public;
    try_files $uri $uri/ /index.php?$query_string;
    error_log /var/log/nginx/telemele.notice.log notice;
    error_log /var/log/nginx/telemele.error.log error;

    location ~* ^/index\.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /var/www/telemele/public/index.php;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }
}

# App 2
location ~* /mahabat {
    alias $base_root/html/backend/web;
    try_files $uri $uri/ /mahabat/index.php?$query_string;

    error_log /var/log/nginx/mahabat.notice.log notice;
    error_log /var/log/nginx/mahabat.error.log error;

    location ~* ^/mahabat/index\.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /var/www/html/backend/web/index.php;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }
location ~* \.css|\.js|\.jpg|\.jpeg|\.png|\.gif|\.swf|\.svg|\.tiff|\.pdf$ {
 try_files $uri =404;
 }

location ~ ^/assets/.+\.php(/|$) {
        deny all;
    }
}

# Files
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt  { access_log off; log_not_found off; }

# Error
access_log off;
rewrite_log on;

# Disable .htaccess access
location ~ /\.ht {
    deny all;
}
}

我做错了什么?如何使nginx不中止assets文件夹中的文件?为什么会提示“未找到”?
1个回答

4

在前端/网络目录下可能缺少.htaccess文件。如果您遇到相同的问题,我建议您使用这个


它不在 Apache 上,它在 Nginx 上。 - merdan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接