2016-09-07 2 views
1

저는 Slim을 처음 사용하고 간단한 파일 호스팅 사이트를 만들려고합니다. $app->get()을 사용하여 URL을 통해 현재 디렉토리를 설정하려고합니다. 다음과 같은 URL을 가질 수있는 방법이 있습니까? site.com/panel/documents/text/word/etcpanel 이후의 모든 내용이 현재 경로로 해석됩니다.슬림 프레임 워크 URL을 파일 경로로 사용

$app->get('/panel/{path}', function ($request, $response) { 
    $path = $request->getAttribute('path'); 

    return $path; 
}); 

문제는 내가 path 하나의 경로가 설정되어있는 경우, 즉를 반환 할 경우에만 수있어 점이다 : 나는 현재이 코드가 /panel/documentsdocuments을 반환합니다. /panel/documents/text과 같은 것을하면 오류를 찾을 수 없습니다. 어떤 도움이라도 좋을 것입니다. 감사!

답변

1

최신 슬림 V3를 사용하는 가정하면, 문서에 따라 당신의 목표를 달성하기 위해 자리를 사용할 수 있습니다 무제한 옵션 PARAMS 귀하의 경우에는

$app->get('/news[/{params:.*}]', function ($request, $response, $args) { 
    $params = explode('/', $request->getAttribute('params')); 

    // $params is an array of all the optional segments 
}); 

을위한 http://www.slimframework.com/docs/objects/router.html#route-placeholders

봐이 될 것이다 :

$app->get('/panel/{path:.*}', function ($request, $response) { 
    $path = $request->getAttribute('path'); 

    return $path; 
}); 
+0

이것은 작동하지만 내 CSS 파일에 문제가 있습니다. 이 문제를 해결할 수있는 방법이 있습니까? 아니면 파일의 URL에 직접 경로를 사용해야합니까? –

+0

.htaccess 파일 또는 웹 서버 구성을 볼 것입니다. 로컬 파일을 찾을 수없는 경우에만 PHP로 리디렉션해야합니다. http://www.slimframework.com/docs/start/web-servers.html에 대한 정보는 설정 방법입니다. CSS 파일의 경로를 지정해야 할 수도 있습니다. –

+0

내'.htaccess'가 아파치에 권장되는 설정을 사용하고 있습니다. 추가해야 할 것이 있습니까? –