슬림 프레임 워크로 작업 한 것은 이번이 처음입니다. 지금까지는 애플리케이션의 모양과 느낌이 정말 마음에 듭니다. 명시적인 API 서버와 거의 같습니다.프로덕션 서버 슬림 프레임 워크 라우팅
내 로컬 컴퓨터에 작은 서버를 만들었습니다. 가상 호스트로 작업해도 완벽하게 작동합니다.
이것은 로컬로 설정 한 가상 호스트와 관련이 있지만, .htaccess 파일을 사용하여이를 무시하려고했습니다.
http://www.domain.com/public/resource을 입력하면 프로덕션 서버에서 작동합니다.
내 디렉토리 구조는 다음과 같습니다 :
public/
index.php
.htaccess
src/
.htaccess
루트 폴더에있는 htaccess로는 다음과 같습니다
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
공용 폴더에 htaccess로는 다음과 같습니다
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [QSA,L]
또한 index.php의 일부를 게시하고 지금까지 기록한 위치를 표시합니다.
$app = new Slim\Slim();
$env = $app->environment();
switch($env['REMOTE_ADDR']) {
case '127.0.0.1':
define('ENVIRONMENT', 'local');
break;
default:
define('ENVIRONMENT', 'production');
break;
}
// Here a log works when you go to http://www.domain.com
// Get
$app->get('/:resource(/(:id)(/))', function($resource, $id = null) {
// Here it works on local machine on production there's no possible way to get here
// var_dump('foobar');die; will respond nothing to cURL -i -X GET http://www.domain.com/resource
// The request will return a 404 error
$resource = \App\Resource::load($resource);
if ($resource === null) {
\App\Resource::response(\App\Resource::STATUS_NOT_FOUND);
} else {
$resource->get($id);
}
});
가상 호스트 설정이 더 나은 솔루션 어쨌든 이럴입니다 :
는 GH의 문제에 대한 설명을 참조하십시오 – Kristian