2016-02-25 39 views
0

我使用Symfony 3创建了一个Web应用程序。在开发环境中,我始终使用Symfony的内置服务器,并使用命令“php bin/console server:run ”。该应用程序可以通过“localhost:8000”访问。将Symfony3应用从开发移植到生产服务器时的问题

我也使用控制器中的注释来定义路由,如“/”,“/ 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”这样的URL访问,其应用程序中的链接已经预先附加了“example.com/apps/app1/web/app_dev.php”自动。因此,当用户点击链接到“/ contact”的按钮时,该链接将指向“example.com/apps/app1/web/app_dev.php/contact”。

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

任何人都可以帮助我吗?我对Symfony和Apache很感兴趣。

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

非常感谢!

回答

0

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

0

你有没有正确配置apache?您可能需要将虚拟主机配置添加到服务器。你可以通过Symfony site了解具体情况。

+0

我已经阅读过此页面。我也看到了“最低配置”部分。但是,在我们的生产服务器上,我们不使用虚拟主机。其他人的应用程序只是神奇的工作。我也不允许更改Apache配置文件。我想我的代码一定有问题吗? – user1050165

+0

听起来像您需要与您的DevOps人员交谈。服务器安装没有什么神奇的。这是很多非常具体的配置。如果有某种开放式逻辑,它可能被用于恶意目的,应该改变。 – Iwnnay

+0

无论是哪种情况,最初听起来都不像你的代码有任何问题。而缺少的难题不在你的问题中。 – Iwnnay

相关问题