Symfony使用多个捆绑包并将捆绑包上传到服务器

时间:2013-08-11 13:29:45

标签: php symfony

我有两个symfony问题。首先,如果我创建了两个bundle,那么当我转到localhost/symfony/web/app_dev.php/时,只会显示第一个创建的bundle。到目前为止,我在src/中有两个bundle,这两个bundle都在内核中注册,路线添加和一切。但是,我只能看到第一个创建的包,我不知道该怎么做,看到第二个包在行动中。

第二个问题是,当我想上传完成的symfony项目时,我看不清楚如何。比如,我是否要.htaccessapp_dev.php文件视为索引文件,并从网址中隐藏文件夹名称symfony,以便将mysite.com/symfony/web/app_dev.php显示为{ {1}}因为,我真的不明白。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

要“查看正在运行的第二个捆绑包”,请将浏览器指向此类捆绑包的某个路径。

为确保其路线已注册,请运行:

$ php app/console router:debug

并查看它们是否出现在列表中。


关于部署,您应该阅读this topic

请记住,app_dev.php适用于开发环境,不应用于生产;包含.htaccess已将所有请求路由到app.php

为了使http://www.mysite.com/成为您的入口点,您应该/yourproject/web成为您的webroot,或者更好地使用符号链接。

答案 1 :(得分:-2)

作为.htaccess部分,您可以将其复制到.htaccess并将其放在根文件夹中

<IfModule mod_rewrite.c>
    RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d



# DEV ENVIRONMENT #
RewriteRule ^$ symfony/web/app_dev.php [QSA]
RewriteRule ^(.*)$ symfony/web/app_dev.php/$1 [QSA,L]

# PROD ENVIRONMENT #
RewriteRule ^$ symfony/web/app.php [QSA]
RewriteRule ^(.*)$ symfony/web/app.php/$1 [QSA,L]
</IfModule>