2016-07-13 1 views
0

Slim에 대한 다음 Tutorial (9:48)을 수행하고 Slim 기능을 테스트 한 후에도 여전히 "페이지를 찾을 수 없음"이 표시됩니다.

을 programm

이 eg.If는 " http://localhost/authentication/public/test/Hello"검색 특정 시점 이후 검색 창에 입력 한 단어를 에코하도록되어 페이지가 '안녕하세요'페이지해야 에코 '안녕하세요' 에코해야한다.

.htaccess 파일을 사용하여 모든 링크를 index.php로 다시 라우팅하면됩니다. index.php 파일은 start.php라는 PHP 파일을 실행합니다.

이것이 작동하지 않는 이유에 대한 의견이 있으십니까?

슬림형 V3.0의

의 .htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [QSA,L] 

의 index.php

<?php 

require '../app/start.php'; 

$app->run(); 
?> 

start.php

<?php 

use Slim\App; 

session_cache_limiter(false); 
session_start(); 

ini_set('display_errors', 'On'); 

define('INC_ROOT', dirname(__DIR__)); 

require INC_ROOT . '/vendor/autoload.php'; 

$app = new App(); 

$app->get('/test/:name', function($name) { 
echo "Hello! {$name}"; 
}); 
?> 
+0

Apache 웹 서버를 사용합니까? .htaccess와 index.php는 디렉토리 구조에 어디에 있습니까? 어떤 URL에 index.php에 직접 액세스합니까? http : //localhost/authentication/public/index.php입니까? – jirka

답변

1

문제 I Slim 3을 사용하는 동안 Slim 2 Code를 사용하려고합니다. 코드를 새 구조로 변경하거나 v2로 다시 전환해야합니다.

//example taken from slimframework.com 
use \Psr\Http\Message\ServerRequestInterface as Request; 
use \Psr\Http\Message\ResponseInterface as Response; 

require 'vendor/autoload.php'; 

$app = new \Slim\App; 
$app->get('/hello/{name}', function (Request $request, Response $response) { 
    $name = $request->getAttribute('name'); 
    $response->getBody()->write("Hello, $name"); 

    return $response; 
}); 
$app->run(); 

나는 official docs을 통해 읽을 것을 권 해드립니다 :

slimframework homepage에 당신처럼 예를 들어 있습니다.

+0

제쳐두고, 저는 약 4 개월 동안 Slim 3을 사용해 왔으며 절대적으로 즐겁습니다. 그것은 당신에게 출발점을 제공하고 당신은 복잡한 것처럼 응용 프로그램을 만들거나 현대 웹 개발의 가장 기본적인 패턴에만 묶여 간단하게 유지할 수 있습니다 – charmeleon