미채택 완료

테마주소 숨기기 가능할까요?

수고하십니다.
테마를 구입했는데 

주소뒤에 /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개

답변 감사합니다.

일단 올려 보니 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)

※ 주의사항 부분은 호스팅 업체에 문의해봐야 하는건가요?

조언 감사합니다.
네.호스팅 업체에 문의해 봐야합니다. 아마도 .htaccess를 막아뒀을지도...ㅠ
그 테마 판매한 분께 조용이 쪽지를 보네세요
그러면 테마 만들정도의 실력가진분이라면 챙피해서 해줄껍니다
그런데 그분이 무시한다면
https://sir.kr/jobs/requests
의뢰를 하세요 3만~50만원정도면 해주실분 많아요 

답변에 대한 댓글 3개

뒤에 주소 없애는 부분을 그분이 판매를 하고 계셔서 제가 직접 해볼 수 있나 해서 질문을 드렸습니다. 답변 감사합니다.
와 그러게 해야 돈을 버는 거구나
잘못만들고 고치는 소스를 판다..대단
dns 설정시 도메인 고정으로 하세요
테마 경로를 직접 하드코딩 된 부분있는것 같아보이네요

답변에 대한 댓글 2개

웅푸님. 답변 감사합니다.
그누보드로 하드코딩을 한다라는것은 그누보드를 100프로 이해 못하고 활용된 잘못된 코딩방식입니다.
이를 바로 잡아주셔야합니다. 선생님

관리자의 "짧은 주소" 설정으로는 어렵습니다.

해당 기능은 게시물 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 예시:

Copy
RewriteRule ^inquiry/?$ /inquiry.php [L,QSA]

Nginx 예시:
Copy
location = /inquiry {
rewrite ^ /inquiry.php last;
}
원본 /theme/... 경로 차단은 테마 구조에 따라 다른 기능에 영향을 줄 수 있으므로,
전체 차단보다는 대상 파일 단위로 신중히 적용해야 합니다.

다만 이는 그누보드 기본 기능이 아니라 웹서버 및 사이트 구조 설계 영역이니,

적용 시 해당 테마가 직접 실행을 전제로 하는 다른 PHP 파일들에 영향이 없는지 먼저 검토하시는 게 필요할지도 모르겠습니다.

추가로, URL 구조만 보고 판단하기보다는
해당 테마가 경로를 직접 링크하거나 G5_THEME_URL 기반으로 생성하고 있는지 먼저 확인해 보시는 것도 좋겠습니다.

예를 들어 서버에서 아래 정도만 검색해 보셔도 단서를 얻을 수 있습니다.

Copy
grep -R "business01" .

grep -R "/theme/" .

grep -R "inquiry.php" .
만약 테마명이나 /theme/... 경로가 다수 발견된다면 해당 테마가 직접 실행 페이지 구조를 사용하거나,
G5_THEME_URL 기반으로 링크를 생성하고 있을 가능성이 있습니다.

이 경우에는 짧은 주소 설정보다 테마 구조 또는 링크 생성 방식을 먼저 확인해 보시는 것이 좋겠습니다.

답변에 대한 댓글 2개

정성스러운 답변 감사합니다. 제가 무슨 말씀이신지 이해를 못해서... ^^;;
방안을 너무 복잡하게 드렸나 싶군요.

결론만 말씀드리면
"짧은 주소" 설정만으로는 원하시는 답이 아닐 것으로 보이고,
테마 제작 방식과 관련된 부분일 것 같습니다.

가장 빠른 방법은 해당 테마 제작자에게 문의하시거나,
구입 테마 설명서에 별도 URL 설정 방법이 있는지 먼저 확인해 보시는 것입니다.

답변에 대한 댓글 1개

짧은 주소를 사용해도 테마 부분은 노출이 됩니다.
답변 감사합니다.

답변을 작성하려면 로그인이 필요합니다.