2013-09-29 2 views
0

symfony2 앱이 3 개 있고, 정상적으로 작동하지만 세 번째 페이지는 기본 페이지에서만 작동합니다. 나머지 경로는 404 오류를 발생시킵니다. 환경 : Ubunto 12.04 VirtualBox, apache 2, PHP 5.3.10, Mongobd.Symfony2의 오류 404

이것은 드 가상 호스트 내용 : 등등

homepage: 
    pattern:/
    defaults: { _controller: SGLiveChatBundle:Default:index } 

sglc_chat_homepage: 
    pattern: /sglivechat 
    defaults: { _controller: SGLiveChatBundle:Chat:index } 

sglc_chat_invite: 
    pattern: /sglivechat/{sessId}/invite 
    defaults: { _controller: SGLiveChatBundle:Chat:invite } 

... 그리고 :

<VirtualHost *:80> 
    DocumentRoot /home/adminuser/webs/servergrove/web 
    ServerName servergrove.local 
    ErrorLog /var/log/apache2/servergrove-error.log 
    CustomLog /var/log/apache2/servergrove-access.log combined 
    <Directory /home/adminuser/webs/servergrove/web> 
     AllowOverride All 
    </Directory> 
</VirtualHost> 

이것은 routing.yml입니다.

다음 URL

잘 작동합니다 : http://servergrove.local/

다음 (및 기타)을하지 않습니다 : http://servergrove.local/sglivechat

*Not Found 
The requested URL /sglivechat was not found on this server. 
Apache/2.2.22 (Ubuntu) Server at servergrove.local Port 80* 

내가 심포니 아주 작은 경험이 있습니다. 나는 엔진을 다시 작성하는 것과 관련 있다고 생각하지만, 다른 두 프로젝트는 괜찮습니다.

내가 명령 줄에서이 같은있어 :

관리 사용자 @의 관리 사용자 - 버추얼-073n : ~/웹/servergrove $ PHP 응용 프로그램/콘솔 라우터 : 디버그

[router] Current routes 
    Name Method Pattern 
    homepage   ANY /
    sglc_admin_index GET /admin/sglivechat 
    prueba   ANY /prueba 

관리 사용자 @ 관리 사용자 - 버추얼-073n : ~/웹/servergrove $ PHP 응용 프로그램/콘솔 라우터 : 덤프 - 아파치

RewriteCond %{PATH_INFO} ^/$ 
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:homepage,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\DefaultController::indexAction] 

RewriteCond %{REQUEST_METHOD} ^(get) [NC] 
RewriteCond %{PATH_INFO} ^/admin/sglivechat$ 
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:sglc_admin_index,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\AdminController::indexAction] 

RewriteCond %{PATH_INFO} ^/prueba$ 
RewriteRule .* app.php [QSA,L,E=_ROUTING__route:prueba,E=_ROUTING__controller:ServerGrove\SGLiveChatBundle\Controller\DefaultController::pruebaAction] 

의 어떤 생각이 무엇을 잘못 될 수 있는가?

+0

appKernel.php의 시작 부분에 die ('aaaa')가 추가되었습니다. http : //servergrove.local/을 탐색하면 aaaa가 표시되지만 다른 URL에서는 동일한 404 오류가 표시됩니다. . –

+1

당신의'.htaccess'는'awfully' complex처럼 보입니다 : - | 기본 설정으로 복원 해 보셨습니까? –

+0

'php app/console router : debug' 명령을 실행할 때 알 수 있듯이 애플리케이션이 경로를 확인하지 않습니다. 다양한 이유가있을 수 있지만 귀하가 제공하는 정보는 알기가 어렵습니다. 내가 말할 수있는 유일한 것은 라우트가 덤프되지 않기 때문에 아파치 문제가 아니라는 것이다. '/ app/config' 폴더에있는'routing.yml' 파일을 게시 할 수 있습니까? –

답변

0

당신은 경로가 app_dev.php와 잘 작동한다고 말했고; 따라서 문제는 다음을 수행하는 것으로 수정 될 수 있습니다.

  • 웹 디렉토리에 .htaccess 파일이 있는지 확인하십시오.
  • 아파치 서버에 mod_rewrite 모듈이 활성화되어 있는지 확인하십시오.
  • 환경에서 캐시를 지우십시오.
+0

고마워, 마침내 htaccess 파일에 대해 2 시간 동안 검토 한 후에 짧은 URL을 얻었습니다. –