2013-02-15 2 views
0

이 질문은 이전에 물어 보았지만 어떤 이유인지 그것은 저에게 맞지 않습니다.Symfony2가 하위 디렉토리에 설치 중

나는 하위 폴더에 symfony2를 설치하려고 해요 (IE : http://www.mydomain.com/myapp는) :

나는이 서브 패스를 가리 키도록 내 경로 ALL을 수정해야 할 것 같습니다, 그러나, 나는 몇 가지 문제로 실행 해요 , IE :

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

라우팅을 위해 작업을 수행합니다.

그러나, 아무리 심지어 심포니 문서에 불구하고, 그것은 assetic가 올바른 경로 (http://symfony.com/doc/current/book/templating.html#linking-to-assets)를 결정하는 것을 말한다 무엇, 여전히 IE, 루트 도메인에서 자산을 찾기 위해 시도하지 :

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

나는 기본적으로 관련 문제에 대한 Google의 모든 링크를 살펴 봤는데, RewriteBase /myapp, RewriteBase /myapp/web을 시도했지만 아무 소용이 없습니다.

누구든지 나를 도와 줄 수 있습니까? 이는 내 URL과 애셋을 하위 폴더로 올바르게 라우팅하는 것이 어렵다는 것이 제멋대로 보입니다. 이식성을 위해 (자산 문제가 어떻게 든 해결 되더라도) 모든 경로를 수정하지 않고이를 수행 할 수있는 방법이 없습니까?

사이드 노트에서 아직 유닉스 서버에서이 시도를 시도하지 않았습니다. 현재 모든 테스트가 wampserver에서 수행되고 있습니다.

+0

app/config/config.yml에 다음 코드를 추가 한 로컬 환경이 내 솔루션은 접두사 경로의 모든 설정을하지 않고 작동하도록하는 방법을 찾을 당신이 수 있었습니까? – Asagohan

답변

0

라우터 개체에 기본 URL을 설정할 수 있습니다. 문제가 해결 될 수 있습니까?

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

이렇게하면 모든 경로의 접두사를 하위 디렉토리의 접두어로 사용하지 않아도됩니다.

+0

라우팅이 실제로 문제가되지 않습니다. 라우팅에서 접두어를 설정해야한다면 (최적이 아님에도 불구하고). 문제는 주로 자산이고, 이식성을위한 사실입니다. 나는이 모든 하위 디렉토리를 내 응용 프로그램 전체에 걸쳐 가지고 있습니다. – Mike

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 ] 

경우/경로 /로/web은 번들 폴더의 상위 폴더입니다.

0

framework: 
    templating: 
     assets_base_urls: 
      http: "http://localhost/symfony_folder/" 
      ssl: "http://localhost/symfony_folder/" 
관련 문제