Laravel 项目在二级目录的 nginx 配置问题

  • 新公司要在旧的项目中引入新框架,最后决定的技术选型是laravel。
  • 我们决定在原来的项目目录之下,加入新的框架。
  • 比如原有项目叫 ecshop,那么新的框架在ecshop/laravel这个目录下。

    问题

  • nginx 配置中root指向了ecshop的目录,那么访问localhost://laravle/public/index.php是可以访问到laravel的欢迎页的。也就是说,实际访问了ecshop/laravel/public/index.php的路径。但是不能访问任何该框架下的api。
  • 比如说,我们是一个纯粹的laravel框架,nginx可以这么配置
        listen       80;
        server_name  0.0.0.0;
        root         /home/ubuntu/www/eshop/laravel;
        index        index.php;
        location /  {
        try_files $uri $uri/ /index.php?$args;
        }
    }
  • 但是我们还要访问ecshop呢?

    目前是

    listen       80;
    server_name  0.0.0.0;
    root         /home/ubuntu/www/eshop/;
    index        index.php;
        location ~ \.php$ {
        index index.php;
        }
    }

    这样配置可以访问原来的ecshop,也可以访问ecshop/laravel/index.php,但是这样的话nginx匹配其实是去匹配文件路径了,并不是真正的访问了laravel框架,创建完整的http周期。

  • 请问我该怎么配置nginx?
    欢迎小伙伴们来回答,可以有偿~
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3
╰ゝSakura

你是想一个server访问两个框架项目?

4年前 评论

对的,这样的话路由美化就不能用了,NGINX会解析成文件访问,try_files $uri $uri/ index.php?$args也不行

4年前 评论

搞定了,蟹蟹大家围观,求人不如求己啊。

4年前 评论
LiarPaFu 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!