Home  >  Article  >  Backend Development  >  nginx 如何配置 subdomain rewrite到symfony2指定路由

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

WBOY
WBOYOriginal
2016-06-06 20:37:441219browse

问题是这样的:

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

<code>/admin
/api
/wap
...
</code>

等。

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

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

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

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

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

望各位指点...谢谢。

回复内容:

问题是这样的:

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

<code>/admin
/api
/wap
...
</code>

等。

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

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

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

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

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

望各位指点...谢谢。

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn