테마주소 숨기기 가능할까요?
테마를 구입했는데
주소뒤에 /theme/테마명/ 이 붙습니다.
다른 테마들은 theme 안 붙는 거 같은데...
이 주소를 감출 수 있을까 문의 드립니다.
감사합니다.
http://도메인/theme/테마명/business01/html/formmail/inquiry.php →
http://도메인/content.php?f=formmail&p=inquiry
답변 6개 / 댓글 10개
뭐 그렇게 어렵게 생각하세요. 아래 내용 따라해 보시고 되면 입금하세요~ㅎㅎ
그누보드5를 설치한 루트에 ".htaccess" 파일을 만들어서 숨기시면 됩니다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 테마 리소스를 루트로 매핑(테마명이 plusmath라고 가정할때)
RewriteRule ^(css|js|img|images|fonts|uploads|files|sound|video)/(.*)$ /theme/plusmath/$1/$2 [L,NC]
# 실제 테마 경로 접근 차단
RewriteCond %{REQUEST_URI} ^/theme/plusmath/
RewriteRule ^ - [F,L]
# 그누보드 기본 라우팅
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Options -Indexes
=============== 이렇게 설정하면 ==============
# 실제 테마 경로 (차단됨)
https://www.test.kr/theme/plusmath/css/style.css
→ 403 Forbidden
# 루트 경로 (정상)
https://www.test.kr/css/style.css
→ CSS 파일 정상 로드(실제 내용은 https://www.test.kr/theme/plusmath/css/style.css)
※ 주의사항
1. mod_rewrite 활성화: Apache 서버에서 mod_rewrite 모듈이 켜져 있어야 합니다.
2. AllowOverride 설정: Apache 설정 파일(httpd.conf 또는 apache2.conf)에서 AllowOverride All로 설정되어 있어야 .htaccess 파일이 적용됩니다.
3. 파일 권한: .htaccess 파일의 권한은 최소한 읽기 가능(644)해야 합니다.
4. 실제 https://www.test.kr/css/style.css 경로에 파일이 있으면 충돌하겠죠.ㅎ
답변에 대한 댓글 2개
그러면 테마 만들정도의 실력가진분이라면 챙피해서 해줄껍니다
그런데 그분이 무시한다면
https://sir.kr/jobs/requests
의뢰를 하세요 3만~50만원정도면 해주실분 많아요
답변에 대한 댓글 3개
답변에 대한 댓글 2개
이를 바로 잡아주셔야합니다. 선생님
관리자의 "짧은 주소" 설정으로는 어렵습니다.
해당 기능은 게시물 URL을
/board.php?bo_table=free&wr_id=123
형태에서
/free/123
형태로 변경하는 Rewrite 기능에 가깝습니다.
현재처럼
/theme/테마명/business01/html/formmail/inquiry.php
를 직접 호출하는 구조라면 짧은 주소 설정만으로는 테마 경로가 숨겨지지 않습니다.
원하는 주소로 연결하는 것은 Rewrite 규칙이나 별도 라우터 구성으로 가능하지만,
원본 경로 자체를 노출하지 않으려면 경우에 따라 /theme/.../*.php 직접 접근을 제한하거나
별도 진입 구조로 구성하는 작업이 필요할 수 있습니다.
즉,
짧은 주소 설정 > URL 변경
Rewrite/Router > 사용자용 주소 구성
웹서버 접근 제어 > 원본 경로 차단
등은 서로 다른 영역입니다.
따라서 "짧은 주소" 설정만으로는 원하는 결과를 얻기 어렵고,
별도의 Rewrite, 라우팅, 또는 테마 구조 수정이 필요할 수 있습니다.
참고로 실제로 경로를 감추려면 별도 진입 URL을 만들고,
테마 구조에 따라 원본 PHP 직접 접근 제한 여부를 함께 검토하는 방식이 일반적입니다.
Apache 예시:
RewriteRule ^inquiry/?$ /inquiry.php [L,QSA]
Nginx 예시:
location = /inquiry {
rewrite ^ /inquiry.php last;
}
전체 차단보다는 대상 파일 단위로 신중히 적용해야 합니다.
다만 이는 그누보드 기본 기능이 아니라 웹서버 및 사이트 구조 설계 영역이니,
적용 시 해당 테마가 직접 실행을 전제로 하는 다른 PHP 파일들에 영향이 없는지 먼저 검토하시는 게 필요할지도 모르겠습니다.
추가로, URL 구조만 보고 판단하기보다는
해당 테마가 경로를 직접 링크하거나 G5_THEME_URL 기반으로 생성하고 있는지 먼저 확인해 보시는 것도 좋겠습니다.
예를 들어 서버에서 아래 정도만 검색해 보셔도 단서를 얻을 수 있습니다.
grep -R "business01" .
grep -R "/theme/" .
grep -R "inquiry.php" .
G5_THEME_URL 기반으로 링크를 생성하고 있을 가능성이 있습니다.
이 경우에는 짧은 주소 설정보다 테마 구조 또는 링크 생성 방식을 먼저 확인해 보시는 것이 좋겠습니다.
답변에 대한 댓글 2개
결론만 말씀드리면
"짧은 주소" 설정만으로는 원하시는 답이 아닐 것으로 보이고,
테마 제작 방식과 관련된 부분일 것 같습니다.
가장 빠른 방법은 해당 테마 제작자에게 문의하시거나,
구입 테마 설명서에 별도 URL 설정 방법이 있는지 먼저 확인해 보시는 것입니다.

설정에 있습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
일단 올려 보니 css가 깨지는데
이부분을 모르겠습니다.
https://www.test.kr/theme/plusmath/css/style.css
→ 403 Forbidden
# 루트 경로 (정상)
https://www.test.kr/css/style.css
→ CSS 파일 정상 로드(실제 내용은 https://www.test.kr/theme/plusmath/css/style.css)
※ 주의사항 부분은 호스팅 업체에 문의해봐야 하는건가요?
조언 감사합니다.