2010-12-05 5 views
0

임하려고 시도하면 deploy symfony on virtual host입니다.가상 호스트의 심포니 문서 루트 문제

mod_rewrite는/web URL을 도메인 루트 URL로 변환합니다 (domain.com/image.gif는 domain.com/web/image.gif로 내부 변환됩니다).

웹이/web dir에서 내부적으로 실행 되었기 때문에 Symfony는 여전히 문서 루트가 있다고 생각하고 url_for() URL 앞에/web 접두어를 붙입니다.

show_books: 
    url: /books 

.. 그리고 스피 묻는 경우 :

url_for('@route_name') 

심포니가 생성됩니다 : 내가 경로가있을 때

그래서

/web/books 

내가 행동을 호스팅 변경 어차피, 난 심포니 루트 경로를 가리키는 웹 요청이 필요하고 internaly는/web dir로 리디렉션됩니다. 나는 symfony가 실행되는 지점을 무시하고 싶습니다. | hostname-document-root |/web

답변

1

이 코드를 내 프런트 컨트롤러 (/web/index.php) 위에 삽입하는 것이 좋은 해결책입니다 :

$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = '/index.php';