怎么在 localhost 下访问多个 Laravel 项目?
比如 像这样
localhost/laravel1/public
localhost/laravel2/public
我在nginx 的是这样配置的
server {
listen 80;
server_name localhost;
location /laravel2/public {
try_files $uri $uri/ /index.php?$query_string;
index index.html index.htm index.php;
}
location /laravel1/public {
try_files $uri $uri/ /index.php?$query_string;
index index.html index.htm index.php;
}
sendfile off;
client_max_body_size 100m;
include fastcgi.conf;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
但这样似乎不工作,考虑在laravel 的route中放置一个前置事件,对 url解析成laravel可以识别的形式,只是有这个想法,不知道可行不可行,如有遇到相似问题,请不吝赐教,在此多谢了。
这个问题可以转换成,如何在一个域名下配置多个laravel项目
虚拟站点了解一下
@FMW 我想你曲解了我的意思,我想实现的是一个虚拟站点下,运行多个laravel项目
@jcc123 谁来做区分不同项目这个工作?
@No_Panic 没有 get 到你的意思
你还是用个本地的host,比如admin.host.test 和www.host.test来做区分吧
花费我一下午的时间,终于找到配置nginx的方法了,看来nginx之路,还有好长要走。
一个域名支持多个laravel项目 ,就是这么简单
还是粘张图片吧 被转义了
和虚拟目录一个意思
在 Nginx 中可以針對每個二級目錄設不同 root,我想可以達到樓主想要的效果
參考:https://zhangge.net/5054.html
try ln -s instead.
@jcc123 最近我也遇到一个这个问题 求教下第一个laravel项目的文件放在哪里 ( .conf文件的root配置为那个项目的位置?)?
@Icharle root 根目录,取决于你想指向哪个项目。
当然你也可以不配置root根目录,直接用 xxx.domain/project/ 去访问你的项目。
换端口呗 一个端口一个项目,
@jcc123 你好 我按照你配置的文件进行配置发现确实是可以 但是laravel这个是我想要访问的文件(用于区分不同的项目) ,但是xxx.domain/laravel/ 访问我的项目 ,接着是我想访问laravel项目的路由 比如(xxx.domain/laravel/order/这个是想要的结果 但是结果跳转的时候是xxx.domain/order/) 感觉应该是重写规则有点问题
@Icharle
这个配置没?
@Icharle 上面的那张图片可能会产生歧义,照着这个配置理解一下
有配置
这个是我的配置文件
@jcc123 是的 这个我注意到了 上面是我的配置文件
@Icharle 把下面的配置,在外层也放置一次。
@jcc123 嗯嗯 弄好啦
不知道你用的什么系统, 不过 博客:Fedora 下,如何快速设置本地环境(简单快速暴力法) , 这个应该能帮到你
不行啊,根本不行啊.
两个路由 mi和mi/abc
一个404
一个啥都不返回
我这边是直接报错file not found
这是报错信息
这个是配置
@coffeemilk 先别着急,稍候我出个线上demo
@coffeemilk
project1 末尾带
/
http://multi.jc91715.top/project1/
project2 末尾带
/
http://multi.jc91715.top/project2/
目录结构
naginx配置
睡觉了,有问题请留言,有点发烧
哎。。。
不多说上code吧。
其实这个配置存在已经3年多了....
这是我最后换的一种方法
第一个server是里面的主项目,不需要加前缀,后面的项目需要加上你命名前缀。
为什么我的不行,爆403
segmentfault.com/a/119000001789033...