我正在构建一个symfony2应用程序,我想将功能分成两个"站点",例如:
[澄清]
我已经阅读了下面其他人指出的文档,但是Symfony正在抛出异常,并出现以下错误消息:
参数"域"必须定义(500内部服务器错误)
这是我到目前为止所做的:
我的routing.yml文件看起来像这样
foobar_homepage:
path: /
host: "foobar.{domain}"
defaults:
_controller: AcmeDemoBundle:Main:foobarHomepage
domain: "%domain%"
requirements:
domain: "%domain%"
homepage:
path: /
defaults: { _controller: AcmeDemoBundle:Main:homepage }
我不想对域名进行硬编码 - 因此我可以为多个网站使用相同的代码库和配置。
我已在请求对象中拥有域名。问题是它不清楚如何将该参数传递给路线。
那么我如何以 DRY 方式传递域名,以满足路线要求?
答案 0 :(得分:1)
如果您希望在路线中完全动态主机解析而没有任何硬编码值,则应省略路由的默认值和要求。看起来应该是这样的:
foobar_homepage:
path: /
host: "foobar.{domain}"
defaults:
_controller: AcmeDemoBundle:Main:foobarHomepage
答案 1 :(得分:0)
您的问题是路线匹配吗?如果是,请查看symfony文档:http://symfony.com/doc/current/components/routing/hostname_pattern.html
答案 2 :(得分:0)
您甚至可以制作动态子域名。这是一个很好的视频教程: http://knpuniversity.com/screencast/question-answer-day/symfony2-dynamic-subdomains