将 Symfony3 应用程序从开发服务器移动到生产服务器时出现问题

Problems when moving Symfony3 app from dev to production server

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

访问该应用程序

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

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

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

谁能帮我解决这个问题?我是 Symfony 和 Apache 的新手。

或者我以完全错误的方式完成了从开发环境到生产环境的迁移?将 Symfony3 应用程序移动到生产服务器有什么新想法或正确方法吗?

非常感谢!

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

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