2013-06-30 4 views
1

PHP 프레임 워크 경험이 없으며 URL 라우팅과 관련하여 몇 가지 일반적인 질문이 있습니다.Flight 프레임 워크를 사용하여 PHP로 라우팅하기

마이크로 프레임 워크 Flight를 사용하고 있습니다.

간단한 라우팅 예 :

<?php 

    // Flight Framework 
    require "flight/Flight.php"; 

    Flight::route('/', function(){ 
     echo 'hello world!'; 
    }); 

    Flight::start(); 

?> 

나는이 페이지 (/)를 방문 할 때, 나는 '안녕하세요'메시지가 표시됩니다. 잘 됐네.

내 질문에, 존재하지 않는 (예 :/카테고리) URL에 대해 라우팅이 사용됩니까? 그런 다음 사용자가 해당 페이지를 방문하면 해당 함수가 호출됩니까?

경로를 '/ categories'로 변경하면이 'hello world'기능을 방문/카테고리에 표시하면 안됩니까?

+0

/카테고리로의 경로를 바꾸고 무슨 일이 일어 났는지 보았습니까? – dethtron5000

+0

예,/categories를 방문하면 기능 대신 인덱스 페이지로 이동합니다 –

+0

알았습니다. 알아 냈습니다. 함수가 .htaccess 파일이있는 인덱스 페이지에 있어야한다는 것을 알지 못했습니다. 나는 다른 디렉토리에서 이것을하고 있었다. –

답변

3

예상대로 작동하려면 URL 다시 쓰기를 사용하도록 설정해야합니다. Mod rewrite을 사용하는 웹 서버로 아파치를 사용하면 이것을 수행 할 수 있습니다. URL을 다시 쓸 때 웹 서버는 존재하지 않는 경로 URL을 모두 index.php으로 라우팅하고 index.php가 요청을 처리하도록합니다. 다음은 .htaccess 파일에있는 재 작성 코드의 예입니다.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
+0

예, 비행 설치 가이드 –

+0

에 따라 .htaccess 파일을 구성했습니다. 알았습니다. 알아 냈습니다! –

0

Flight를 사용하면 PHP 내부 웹 서버를 훨씬 쉽게 사용할 수 있습니다. 적어도 테스트 목적으로.

php -S <url>:<port> 
관련 문제