라우팅 작품에 localhost,지에 라이브 서버
-
20-09-2019 - |
문제
액세스할 때는 내 사이트에 MAMP 처럼,그것은 좋은 작품
localhost/사이트/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에서 작동하기 때문에 경로는 문제가되지 않을 것입니다.