使用Yii2(LAMP)处理子域

时间:2016-03-31 15:34:55

标签: yii2 apache2 subdomain

我正在开发使用php和Yii2,apache2和ubuntu。

所以我们有域名,例如domain.com(作为示例)。现在我需要创建一些页面作为page1.domain.com作为登陆,但是它们会自动创建吗?

我应该如何为此设置vhost?我不知道子域名是什么(可以是任何a-Z0-9)。我应该创建新的vhost并启用它还是我可以以某种方式在现有的vhost上启用它?

下一个问题是page1.domain.com上的网址当我们打开page1.domain.com时,所有链接都像“http://page1.domain.com/xxx”,但我需要“http://domain.com/xxx

所以主要的是无论在什么领域都改变基本网址,但如果存在则对其子域做出反应。

1 个答案:

答案 0 :(得分:0)

那里有两件事:

1)活动子域通配符

在您的vhosts配置文件中,添加:

ServerAlias *.example.com

然后您必须在DNS中添加一个条目。对于localhost,您无法直接在hosts文件中添加它:

https://serverfault.com/questions/319518/add-wildcard-subdomains-to-localhost-with-apache

2)创建规则

您可以在网址管理器中添加模式,以便将子域与控制器处理程序匹配。

'http://(\d+).domain.com/' => 'controller/index',

更多信息:

[1] http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html#rules-with-server-names

[2] http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html