V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
aries910
V2EX  ›  问与答

docker 中的 laravel 应用怎么 nginx 做多语言站点的跳转

  •  
  •   aries910 · 2022-04-02 17:38:19 +08:00 · 889 次点击
    这是一个创建于 964 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前提了个问题,描述比较简单,高估了自己的能力,尽管有人提示,还是应用不起来...
    因此再开一贴,希望能有大佬帮忙实现下
    原本有个站点“aa.com”,是一个用 docker 部署的 laravel 5 的应用
    想做多语言,无奈是别人的代码懒得去改成多语言而且有后台管理
    希望能通过 Nginx 的跳转实现多语言效果
    如果想要增加语言,就多布署一套系统
    现在用 docker 部署一套相同的应用对应了语言是 es

    下面是配置文件,肯定有许多错误,实在是水平不行,各位看官勿喷

    server {
        gzip on;
        listen  443 ssl;
        server_name www.aaa.com aaa.com;
        root /var/www/html/public;
    
        location /es { 
            root /var/www/html.es/public; 
            try_files $uri $uri/ /index.php$is_args$query_string;
        }
        
        location / {  
            try_files $uri $uri/ /index.php$is_args$query_string;
        }
        
        location ~ \.php$ {
        	root /var/www/html.es/public; 
            rewrite ^/es/(.*)$ /$1 break;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass es-app:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
        
        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass app:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
    }
    
    aries910
        1
    aries910  
    OP
       2022-04-02 23:14:45 +08:00
    额,是因为都放假了,所以没大佬回复么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.