同一个 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"
经过几个小时的研究,我仍然找不到答案,但我确信有办法解决它。
我有一个 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"