문제

액세스할 때는 내 사이트에 MAMP 처럼,그것은 좋은 작품

localhost/사이트/about us/

때 나는 업로드하는 원격 서버에 대한 액세스 다음과 같이

http://www.server.com/site/about-us/

모든 요청이 다시 기본 설정에서 bootstrap.php.

여기에서 내로 설정합니다.

Route::set('default', '(<page>)')
    ->defaults(array(
        'page' => 'home',
        'controller' => 'page',
        'action'     => 'index',
    ));

문제 때마다 얻을 업로드하는 내 서버에 모든 요청이 다음과 같/about us/은 항상 혁 으로 지정한 설정할 때 경로입니다.변경하는 경우에는 기본적으로'대한 저희',모든 페이지가'우리에 대하여'.

게 무엇인지의 원인이 될 수 있다?감사

업데이트

여기에는 해킹 , 하지만은 확실합니다.아직도 내가 선호하는 것을 알고 왜 그것은 작동하지 않을 따라 예상된다.

// Hack because I can not get it to go to anything except 'default' below...

 $uri = $_SERVER['REQUEST_URI'];

 $uri = str_replace(url::base(), '', $uri);

 $page = trim($uri, '/');

 if ( ! $page) $page = 'home';


Route::set('default', '(<page>)')
    ->defaults(array(
        'page' => $page,
        'controller' => 'page',
        'action'     => 'index',
    ));
도움이 되었습니까?

해결책

코드는 기본적으로 모든 경로(그것의 일치에 대한 모든 요청).을 제한해야 합니다 이렇게.

Route::set('static', '(<page>)', array('page' => 'about-us'))
->defaults(array(
    'controller' => 'page',
    'action'     => 'index',
));

3 매개 변수를 정기적 표현하는 정의로 일치해야 합니다.

는 경로로 모두에서 일치하는 정규 페이지를 컨트롤러와의 인덱스 작업입니다.

할 수 있습니다 다음 사용 $page = $this->request->param('page'); 에서 당신의 작업입니다.

다른 팁

$ page를 $ 조치로 착각하지 않습니까?

내가 이것을 시도하면 잘 작동합니다. 내 컨트롤러 액션 방법은 다음과 같습니다.

public function action_index($page = NULL)

{
    var_dump($page);
}

내가 찾아 보면

localhost/site/blup

나는 좋은 것을 본다

string(4) "blup"

에코가되고 있습니다. 기본 경로 설정이 귀하와 동일합니다.

Kohana의 URL 자동 감지가 서버 설정에서 작동하지 않는 것 같습니다 ... 어떤 웹 서버가 실패하고 있습니까?

요청을 변경할 수 있습니다.

request :: instance ($ _ server [ 'request_uri'])-> execute () ...

그것은 올바른 URI를 사용하는지 확인합니다 ..

픽셀 개발자가 말했듯이, 당신의 경로는 .. 홀수 .. 나에게;)

그러나 MAMP에서 작동하기 때문에 경로는 문제가되지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top