0

我使用 Symfony 3 创建了一个 Web 应用程序。在开发环境中,我总是使用 Symfony 的内置服务器,只使用命令“php bin/console server:run”。然后可以通过“localhost:8000”访问该应用程序。

我还使用控制器中的注释定义了路由,例如“/”、“/about”等。这些页面可以通过“localhost:8000/”和“localhost:8000/about”访问。页面上指向“/contact”或“/users/1”等路由的其他链接也可以正常工作。他们将链接到“localhost:8000/contact”和“localhost:8000/users/1”。

现在,我将我的应用程序移至生产服务器。在生产服务器上,安装了 Apache2,其他一些人在上面开发了 Symfony 应用程序。他们的应用程序可以通过诸如“example.com/apps/app1/web/app_dev.php”之类的网址访问,并且他们的应用程序上的链接已预先附加了“example.com/apps/app1/web/app_dev.php”自动地。因此,当用户单击链接到“/contact”的按钮时,链接将指向“example.com/apps/app1/web/app_dev.php/contact”。

现在,当我将名为“app2”的应用程序移动到“example.com/apps/”目录下时,无需任何配置即可访问“example.com/apps/app2/web/app_dev.php”并完美查看我的主页。Apache 可以自动获取我的代码。然而,主页上的所有链接都将指向“example.com/contact”,而不是“example.com/apps/app2/web/app_dev.php/contact”。

谁能帮我这个?我对 Symfony 和 Apache 很陌生。

或者也许我以完全错误的方式完成了从开发环境到生产环境的迁移?将 Symfony3 应用程序移至生产服务器的任何新想法或正确方法?

非常感谢!

4

2 回答 2

0

我终于解决了这个问题。我应该在所有树枝模板中使用 href="{{ path('about') }}" 而不是 href="/about" 。谢谢大家!

于 2016-03-01T19:46:23.750 回答
0

您是否正确配置了apache?您可能需要将虚拟主机配置添加到服务器。您可以在Symfony 网站上找到有关它的详细信息。

于 2016-02-25T21:40:19.323 回答