Heim  >  Artikel  >  Backend-Entwicklung  >  nginx 如何配置 subdomain rewrite到symfony2指定路由

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

WBOY
WBOYOriginal
2016-06-06 20:37:441184Durchsuche

问题是这样的:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn