2009-11-17 3 views
0

Isapi 다시 쓰기가 설치된 Windows XP/IIS 7 시스템에 Symfony 프로젝트가 있습니다. 프론트 엔드 (내 메인) 애플리케이션으로 갈 때 라우팅이 작동하지 않는 것 같습니다. 나는 항상 기본 모듈/행동에 끝납니다. 그러나, no_script_name = off (앱의 settings.yml 파일에서)을 설정하면 모든 것이 잘 동작합니다. 나는 또한 (또한 no_script_name = off있다) 프로젝트의 일환으로 관리 애플 리케이션이 있고 잘 작동합니다. 이것은 간단한 문제 여야하는 것처럼 보입니다. 그러나 우리는 4 시간 동안이 작업을하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다.온라인 프로젝트를 사용한 Symfony 라우팅 문제

편집 :와/I 디버그 도구 모음을 사용하기 위해 디바이스에 전면 컨트롤러의 환경을 변경 한 경우 (/) 내 URL이 어떻게 생겼는지 상관없이, 항상

일치 경로 "홈페이지"라는 것을 발견 매개 변수 배열 ('모듈'=> '기본', '행동'=> '인덱스')

상관없이 내가 뭘, 모듈은 항상 아주 잘 기본

답변

1

해결책을 찾았습니다. 나는 차이를 만들어 IIS 튜토리얼 (http://trac.symfony-project.org/wiki/symfonyOnIIS) 아무것도의 심포니 내 모든 노력을

$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL']; 

내의 index.php의 상단에이 코드를 추가했다. 다른 사람이이 문제를 겪는다면, 어떤 설정이나 .htaccess 규칙을 사용하기 전에 먼저 위의 코드를 추가하십시오.

+0

임거야이 시도 변환! – Prasad

1

IIS는 URL 재 작성을 지원하지 않습니다 동일하지 이는 Symfony의 라우팅이 필요하다는 것을 의미합니다. 본질적으로, 웹 서버는 존재하지 않는 파일/경로에 대한 모든 요청을 Symfony의 index.php로 리다이렉트 (redirect)하여 요청 된 원래 URL을 전달합니다. Symfony는이 URL을 디코딩하고 라우팅 규칙을 적용합니다.

하지만 가능합니다. 다음을 따라야합니다 : Symfony on IIS