2009-10-20 8 views
0

.ini 파일을 사용하여 응용 프로그램에 경로를 추가하고 있습니다.Zend Framework 하위 도메인 문제

resources.router.routes.username.type = "Zend_Controller_Router_Route_Hostname" 
resources.router.routes.username.route = ":username.example.com" 
resources.router.routes.username.defaults.module = "userinfo" 
resources.router.routes.username.chains.index.type = "Zend_Controller_Router_Route" 
resources.router.routes.username.chains.index.route = ":language/:controller/:action/*" 
resources.router.routes.username.chains.index.defaults.controller = "index" 
resources.router.routes.username.chains.index.defaults.action = "index" 

1) http://john.example.com/fr/controller/action 
2) http://john.example.com/fr/controller/action/id/10 

# 1 URL은 작품입니다. 여기에 요청 매개 변수

Request Parameters: 
array (
    'language' => 'fr', 
    'controller' => 'controller', 
    'action' => 'action', 
    'username' => 'john', 
    'module' => 'userinfo', 
) 

# 작동하지 것 2 URL입니다. 요청 매개 변수는 여기

Request Parameters: 
array (
    'controller' => 'fr', 
    'action' => 'controller', 
    'module' => 'default', 
) 

누구나 해결책을 제안 할 수 있습니까?

+0

어떤 버전의 젠드 프레임 워크를 사용합니까? 내가 아는 한에는 루트 체인에 문제가있다. –

+0

1.9.4 버전을 사용한다. –

답변

0

경로의 기본 언어를 설정 했습니까? 그것이 작동하지 않는다고 말하면 더 자세한 정보를 제공 할 수 있습니까? Zend_navigation에서 언어 매개 변수를 사용하지 않고 비슷한 문제가 발생하여 항상 정의한 기본 언어로 전환합니다.

은 결국 내가 수동으로이

Zend Framework: Zend_translate and routing related issue

0
resources.router.routes.username.type = "Zend_Controller_Router_Route_Hostname" 
resources.router.routes.username.route = ":username.example.com" 
resources.router.routes.username.defaults.module = "userinfo" 
resources.router.routes.username.chains.index.type = "Zend_Controller_Router_Route" 
resources.router.routes.username.chains.index.route = ":language/:controller/:action/*" 
resources.router.routes.username.chains.index.defaults.controller = "index" 
resources.router.routes.username.chains.index.defaults.action = "index" 
resources.router.routes.username.chains.index.defaults.language = "en" 

내가 경로에 언어 매개 변수를 기본값으로 추가하는 데 도움이 경우 내 게시물을 참조하십시오 사용자 정의 플러그인에 routshutdown에서 기본 언어를 설정하여 해킹해야합니다. 하지만이 URL은 작동하지 않습니다.

http://john.example.com/fr/controller/action/id/10 
Request Parameters: 
array (
    'controller' => 'fr', 
    'action' => 'controller', 
    'module' => 'default', 
) 
0

경로가 기본값으로 재설정 된 것처럼 보입니다. 나는 그 전에 들어가고

프론트 콘트롤러에 등록하고 등록하십시오. dispatchLoopStartup 정의() 거기에 올바른 경로를 다시 가져올 수있는 경우

$router = $fc->getRouter(); 
$router->setGlobalParam('lang','somelanguage'); 
$router->setGlobalParam('module','somemodule'); 

볼 사용 언어 매개 변수 나 모듈 이름을 설정하려고합니다.