簡體   English   中英

Symfony2安裝在子目錄中

[英]Symfony2 installing in a sub-directory

我知道之前曾有人問過這個問題,但由於某種原因,它對我不起作用。

我正在嘗試在子文件夾(IE: http ://www.mydomain.com/myapp)中安裝symfony2,但是我遇到了幾個問題:

看來我必須修改所有路由以指向此子路徑IE:

fos_user_group:
    resource: "@FOSUserBundle/Resources/config/routing/group.xml"
    prefix: /myapp/group

..這確實完成了路由工作。

但是,無論如何,即使在symfony文檔中,它指出資產將確定正確的路徑( http://symfony.com/doc/current/book/templating.html#linking-to-assets ),仍嘗試從IE的根域中查找資產:

http://www.mydomain.com/bundles/acmedemobundle/js/script.js

我已經在Google的每個鏈接中尋找了相關的問題,我嘗試了RewriteBase /myappRewriteBase /myapp/web ,但都無濟於事。

有人可以幫我從這里出去嗎? 正確地將我的URL和資產路由到子文件夾似乎很瘋狂。 出於可移植性考慮(即使資產問題已通過某種方式解決),是否應該有辦法在不修改我所有路線的情況下做到這一點?

附帶一提,我還沒有嘗試在UNIX服務器上嘗試此操作。 當前,所有測試都在wampserver上進行。

您可以在路由器對象中設置基本網址,也許可以解決您的問題?

$this->getContainer()->get('router')->getContext()->setBaseUrl('/myapp');

如果這樣做,則不必在所有路由前面加上子目錄的名稱。

我不知道這是否仍然適合您,但可能會對其他人有所幫助。 我認為您應該更改config.yml或config_dev.yml(取決於環境)

對於資產,請對此進行設置(請參見“模板”部分):

framework:
router:
    resource: "%kernel.root_dir%/config/routing_dev.yml"
    strict_requirements: true
profiler: { only_exceptions: false }
#set default asset root
templating:
    assets_base_urls: 
        http: [ /path/to/web ]
        ssl:  [ /path/to/web ]

其中/ path / to / web是捆綁文件夾的父文件夾。

我在本地環境上的解決方案是在app/config/config.yml添加以下代碼

framework:
    templating:
        assets_base_urls:
            http: "http://localhost/symfony_folder/"
            ssl: "http://localhost/symfony_folder/"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM