테마경로 생략 및 $_GET / $_REQUEST 질문드립니다
본문
https://gnustudy.com/bbs/board.php?bo_table=gnu_manual&wr_id=26
위 링크는 테마경로 생략하는 방법이고 이해하였으나
제가 지금 남에게서 받은 코드를 분석중인데 위 방법으로 쓰이지 않은것같아요 root에는 특정해서 다시 테마 경로로 넘기는 그런게 없습니다(단 하나 root/index.php는 조건문으로 테마경로의 index를 바라봅니다 나머지는 그런부분이 없어서 질문드립니다)
주소창에 root/about/about 로 접근하면
폴더내의 root/theme/basic/about/about.php 로 테마경로생략+php확장자 없이도 매칭이됩니다
제가 폴더내에 root/theme/basic/about/about2.php를 추가하고
주소창에 root/about/about2로 진입하면
제가 추가한 파일은 무시하고(맨앞 about으로 매칭되는것같습니다 about2.php, about3.php 다 그냥 about.php로 갑니다) root/theme/basic/about/about.php에 매칭됩니다
----위 까지가 1차 질문이고 혹시 아래랑 연관이 있을까봐 같이 씁니다'
위처럼 주소창에서 root/about/about으로 접근하면 root/theme/basic/about/about.php로 접근하는데
이 페이지는 페이징 기능이 있고 주소창에 root/about/about/3 같이 적으면
root/theme/basic/about/about.php로 접근하고 소스에서 최상단에서(common도 실행하기 전) 디버깅을 걸어봤어요
그런데 최상단에 common도 가기전부분에 디버깅을 걸자마자 $_REQUEST[$page] 안에 숫자 3이 있습니다
common접근 하기도 전에 $_REQUEST안에 값이 있다는건
주소창에서 root/about/about으로 접근했을때
제가 모르는 어떤 페이지로 가고 거기에서 자동으로 form을 날리거나 url을 틀어주거나 해서 제가 보고있는 root/theme/basic/about/about.php로 보내주는 그런게 있는건가 추측중입니다
읽어주신 것만으로도 감사드립니다
답변 1
위 링크는 테마안의 일반페이지를 루트나 타 폴더에 넣을때 적용하는것입니다.
예를들면 테마 안의 a.php 파일을 루트/a.php 로 빼는법입니다.
핵심은
루트/a.php 파일의 상단에
if(defined('G5_THEME_PATH')) {
require_once(G5_THEME_PATH.'/a.php');
return;
}
부분입니다. 테마를 사용한다면 테마안의 a.php파일을 불러오는것입니다.
참고로 php 확장자 없애는건 아파치라면 .htaccess 에서 rewrite 설정입니다.