欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx 如何配置 subdomain rewrite到symfony2指定路由

程序员文章站 2022-06-16 17:14:33
...
问题是这样的:

我在symfony2当中配置了路由,前缀分别是分别是:

/admin
/api
/wap
...

等。

现在我想通过访问三个自域名去访问这分别三个对应的路由,分别是

admin.domain.com => /admin/*
api.domain.com => /api/*
wap.domain.com => /wap/*

目前在nginx下配置了,但是却不起效,想看看各位对这个有什么见解和方法经验,指点一下,现在被困住了。

server {
    listen 80;
    server_name  domain.com ~^(?.+)\.domain\.com;
    .....
    location / {
         index app.php;
         try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$subdomain$1 last;
    }
    ......
} 

望各位指点...谢谢。

回复内容:

问题是这样的:

我在symfony2当中配置了路由,前缀分别是分别是:

/admin
/api
/wap
...

等。

现在我想通过访问三个自域名去访问这分别三个对应的路由,分别是

admin.domain.com => /admin/*
api.domain.com => /api/*
wap.domain.com => /wap/*

目前在nginx下配置了,但是却不起效,想看看各位对这个有什么见解和方法经验,指点一下,现在被困住了。

server {
    listen 80;
    server_name  domain.com ~^(?.+)\.domain\.com;
    .....
    location / {
         index app.php;
         try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$subdomain$1 last;
    }
    ......
} 

望各位指点...谢谢。

不用nginx,新版的routing组件就支持这个功能
见下文 http://symfony.com/doc/current/components/routing/hostname_pattern.html

nginx 默认不支持pathinfo ,注意配置pathinfo. symfony 路由需要pathinfo模式支持。

相关标签: php symfony nginx