테마경로 생략 및 $_GET / $_REQUEST 질문드립니다

테마경로 생략 및 $_GET / $_REQUEST 질문드립니다

QA

테마경로 생략 및 $_GET / $_REQUEST 질문드립니다

답변 1

본문

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 설정입니다.

htaccess는 그냥 php확장자만 없애는거래서 안보고있다가 무심결에 그누보드 짧은주소 처보니까 htaccess 관련 글이 나와서 보니까 그 안에 들어오는 경로 하나하나를 다 rewrite랑 RegEx 로 처리 해놨더라구요...(root/about --> root/theme/basic/about) 그런데 제가 이 질문만 벌써 세번째거든요? 그런데 한번도 htaccess를 봐라는 답변을 못받았는데(사실 이번에도 테마경로 생략질문에 한해서는 그렇고요) 이게 굉장히 특이하고 일반적이지 않은 방법인가요? 답변에 매우 감사드립니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 123,824
© SIRSOFT
현재 페이지 제일 처음으로