2012-04-22 2 views
1

urlmanager에서 seourlmanager 클래스를 사용하고 있습니다.
Multicomplete Extension을 사용하는 ajax 자동 완성 필드가 있습니다.
확장 프로그램은 'controller/action? term = searchterm'과 같이 ajax 요청을 보냅니다.
문제는 URL 관리자 (seourlmanager)가 get 쿼리를 처리 할 수 ​​없다는 것입니다.Yui urlManager 및 jquery ajax GET 요청

'controller/action/<term:.*>'=>'controller/action' 

방법 Multicomplete 확장 및 seourlmanager로 모두 작업 할 수있는 URL 관리자를 조정 : 홈페이지 관리자에서
나는이 규칙이 있나요?

답변

0

:

protected $_query; 
public function init() { 
    .. 
    $this -> _query = (!empty($urlParts['query'])) ? $urlParts['query'] : ''; 
    .. 
} 
protected function _connectUrlParts() { 
    $scheme = $this -> _scheme . '://'; 

    $port = (!empty($this -> _port)) ? ':' . $this -> _port : ''; 
    if($this->_query=='') 
    return $scheme . $this -> _host . $port . $this -> _path; 
    else 
    return $scheme . $this -> _host . $port . $this -> _path.'?'.$this->_query; 
} 

자동 완성 확장 ?term=searchterm을 사용하기 때문에

?term은 규칙에 정의 할 필요가 없습니다
0

은 다음과 같이 설정 파일에 뭔가 일반적인 규칙을 추가하십시오 :

'<controller:\w+>/<action:\w+>' => '<controller>/<action>', 

이 함께 또는 추가 쿼리 매개 변수없이 전형적인 controller/action 형식을 일치합니다. 나는 결국 쿼리 문자열을 추가 할 seourlmanager 클래스를 변경 한

/controller/action?term=searchterm - CORRECT 

/controller/action/term - INCORRECT 
+0

이 도움이되지 않습니다. 나는 여전히 301error를 가지고있다. – lvil

+0

.html 접미사가 설정되어 있는가? (' 'urlSuffix'=> '.html'')? 그렇다면 URL에서도 접미사를 사용해야합니다. 브라우저에 URL을 직접 입력하여 올바른 조합을 제공하는 조합을 찾으십시오. –

+0

아니요, 구성 파일에 urlSuffix가 설정되어 있지 않습니다. – lvil