我正在开发使用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”
所以主要的是无论在什么领域都改变基本网址,但如果存在则对其子域做出反应。
答案 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