0

この質問が以前に尋ねられたことは知っていますが、何らかの理由でうまくいきません。

サブフォルダー (IE: http://www.mydomain.com/myapp ) にsymfony2 をインストールしようとしていますが、いくつかの問題が発生しています。

このサブパス IE を指すようにすべてのルートを変更する必要があるようです。

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

..これはルーティングの仕事をします。

ただし、何があっても、symfony のドキュメントでは、assetic が正しいパスを決定すると述べています ( 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 で行われています。

4

3 に答える 3

0

ルーター オブジェクトにベース URL を設定できます。これで問題が解決するでしょうか?

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

その場合、すべてのルートにサブディレクトリの名前をプレフィックスとして付ける必要はありません。

于 2013-02-16T00:16:00.287 に答える
0

これがまだあなたにとって問題であるかどうかはわかりませんが、他の人を助けるかもしれません. 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 は、バンドル フォルダーの親フォルダーです。

于 2014-07-12T23:34:18.353 に答える