当前位置:Gxlcms > PHP教程 > nginx如何配置subdomainrewrite到symfony2指定路由

nginx如何配置subdomainrewrite到symfony2指定路由

时间:2021-07-01 10:21:17 帮助过:7人阅读

问题是这样的:

我在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模式支持。

人气教程排行