2015-08-26 37 views
3

我有一个关于Yii2高级应用程序的项目。我在前端创建了一个名为'sale'的模块,在那里我扩展了前端布局。现在我只想访问该模块作为像http://sale.example.com这样的子域。如何正确设置子域上的Yii2模块?

我已经创建了子域sale.example.com,并将它的文档根目录设置为根文件夹public_html(网站的根文件夹)。

根据Yii2 DOC,我配置了我的urlManager,如'http://sale.example.com' => 'sale/default/index',。它工作正常,但我所有的导航都出错了。我的意思是我认为应用程序的homeUrl未指向默认网站网址。我的整个url系统在子域名如http://sale.example.com/contact后被更改,但是这应该是http://example.com/contactHere is a snapshot

在此先感谢。

+0

请您澄清一点吗?您的前端应用程序在您的普通URL(example.com)下运行,并且您希望将您的子域(sale.example.com)重定向到该模块?所以你有两个前端部分,如果你想要的话?如果是这种情况,我想我有你的答案... – PLM57

+0

是的..可以说我有两个前端。但是我对这些前端和模块使用了相同的布局......我只是希望我的模块“sale”显示为“sale.example.com” –

回答

0

你可以使用UrlManager来做到这一点。这里是示例只需将your_module_name替换为模块的真实名称即可。更多关于UrlManager,您可以看到here

'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
     'enableStrictParsing' => false, 
     'rules' => [ 
      'sale.example.com/<controller>/<action>' => 'your_module_name/<controller>/<action>', 
     ], 
    ],