2012-09-13 4 views
0

그래서 include를 사용하여 머리글, 페이지 및 바닥 글을 가져올 수 있도록 스크립트를 만들었습니다. 그리고 파일에 404가 없으면 모든 것이 작동합니다. 이제 내 문제는 내가 페이지 인 url의 끝을 얻는 방법이다. 예를 들어, 페이지 URL 가져 오기 사용하려면

나는 그렇게 누군가가 example.com/home/test로 전환 될 때, 그냥 예를 들어 test.php를 자동으로 포함 않으려 고합니다.

이야기의 도덕적. 어떻게 페이지 이름을 얻는 지 몇 가지 방법. 나는 모든 URL이 Heres는 내 코드 지금까지 something.com/home/?p=home

되는이 필요하지 않도록하고 페이지의 끝을 "마스크"를 사용하십시오. 당신이 당신의 웹 사이트가 비어 "리디렉션"PHP 파일을 뒤덮 싶어하지 않는 한 그 자체로

<?php 
include($_SERVER['DOCUMENT_ROOT'].'/home/lib/php/_dc.php'); 
include($_SERVER['DOCUMENT_ROOT'].'/home/lib/php/_home_fns.php'); 

$script = $_SERVER['SCRIPT_NAME']; //This returns /home/index.php for example =/ 
error_reporting(E_ALL); 
include($_SERVER['DOCUMENT_ROOT'].'/home/default/header.php'); 
if($_GET["p"] == 'home' || !isset($_GET["p"])) { 
    include($_SERVER['DOCUMENT_ROOT'].'/home/pages/home.php'); 
} else if(file_exists($_SERVER['DOCUMENT_ROOT'].'/home/pages/'.$_GET["p"].'.php'))  { 
    include($_SERVER['DOCUMENT_ROOT'].'/home/pages/'.$_GET["p"].'.php');  
} else { 
    include($_SERVER['DOCUMENT_ROOT'].'/home/default/404.php'); 
} 
include($_SERVER['DOCUMENT_ROOT'].'/home/default/footer.php'); 
?> 

답변

1

PHP 여기 최선의 선택을하지 않을 것입니다. 나는 아파치 서버의 mod_rewrite 모듈을 살펴볼 것을 권한다. 시작하기에 앞서 coupleguides입니다. 희망이 도움이!

0

가장 간단한 방법은/홈/어떤 폴더 내부에 index.php 파일을 가지고하는 것입니다. 그런 다음 $ _SERVER [ 'PHP_SELF']와 같은 것을 사용하고 자동으로 이름을 추출하거나 이미 파일을 직접 작성하고 하드 코딩하십시오. 더 복잡한/심각한 응용 프로그램을 만들기까지하는 경우 그러나 명백히 잘못 보이는

, 당신은 아마 모드 - 재 작성에 보일 것입니다.

나는 또한 전체 경로 - 컨트롤러 것은 많은 일 CakePHP의 프레임 워크를 추천 할 것입니다.