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

时间:2015-03-15 15:40:02

标签: apache .htaccess symfony


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

于连

1 个答案:

答案 0 :(得分:7)

对于每个主机名,您可以在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"
相关问题