如何在子域上正确设置 Yii2 模块?
Posted
技术标签:
【中文标题】如何在子域上正确设置 Yii2 模块?【英文标题】:How to setup Yii2 module on subdomain correctly? 【发布时间】:2015-11-20 21:15:15 【问题描述】:我有一个关于 Yii2 Advance 应用程序的项目。我在前端创建了一个名为“sale”的模块,在那里我扩展了前端的布局。现在我只想将该模块作为子域访问,例如 http://sale.example.com
。
我创建了子域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/contact
。 Here is a snapshot.
提前致谢。
【问题讨论】:
你能澄清一下吗?您的前端应用程序在您的正常 URL (example.com) 下运行,并且您希望您的子域 (sale.example.com) 被重定向到模块?所以如果你愿意的话,你有两个前端部分吗?如果是这种情况,我想我有你的答案...... 是的.. 假设我有两个前端。但是我对这些前端和模块使用了相同的布局......我只是希望我的模块sale
显示为 sale.example.com
【参考方案1】:
您可以使用 UrlManager 来完成。这是示例只需将 your_module_name 替换为您的模块的真实名称。更多关于 UrlManager 你可以看到here
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'sale.example.com/<controller>/<action>' => 'your_module_name/<controller>/<action>',
],
],
【讨论】:
以上是关于如何在子域上正确设置 Yii2 模块?的主要内容,如果未能解决你的问题,请参考以下文章