同一个 Symfony 应用程序上的多个域

Multiple domains on same Symfony app


经过几个小时的研究,我仍然找不到答案,但我确信有办法解决它。
我有一个 Symfony 应用程序,其中包含我客户的网站。
路由是这样的:/app.php/{userId}/
我想创建域(不是子域)以指向每个用户页面,所以
domain1.com -> app.php/1/
domain2.com -> app.php/2/
等...
但是当我尝试使用 Apache 主机执行此操作时,我收到 Symfony 错误:"No route found for GET /"。我明白为什么,但我找不到 Apache 主机或 htaccess 的解决方案,既没有 Symfony。
我不想复制我的 app.php 或应用程序文件夹。
也许解决方案在 htaccess 中...
你怎么看?
预先感谢您的想法:)

朱利安

对于每个主机名,您可以设置一个虚拟主机,在您的 simfony 应用程序中拥有它的文档根目录,例如:

<VirtualHost *:80>
  ServerName domainone.com
  DocumentRoot "/Projects/Project/web"
  <Directory "/Projects/Project/web">
    Options Indexes FollowSymLinks
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>
<VirtualHost *:80>
  ServerName domaintwo.com
  DocumentRoot "/Projects/Project/web"
  <Directory "/Projects/Project/web">
    Options Indexes FollowSymLinks
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

就像ServerAlias说的 你也可以有一个 VirtualHost 标签,其中包含多个主机名作为 ServerAlias

  ServerName domainone.com
  ServerAlias domainone.com domaintwo.com

在你的 symfony 路由配置中你可以解析主机名

routing_one:
    resource: "@yourBundle/Resources/config/routingOne.yml"
    prefix: /customerIdOne
    host: "domainone.com"

routing_two:
    resource: "@yourBundle/Resources/config/routingTwo.yml"
    prefix: /customerIdTwo
    host: "domaintwo.com"