htaccess 설정 방법

htaccess 설정 방법

QA

htaccess 설정 방법

본문

질문1 : 1로 접근시 2와 같이 동작되도록 하고 싶은데,

htaccess 를 어떻게 설정해야 할까요?

아래를 활용하여 그누보드에서 일반 페이지 만들때 좀 더 깔끔한 url 을

사용하고 싶습니다.

답변 주시면 감사 하겠습니다.

맨 아랫줄은 제가 위에 보고 참고해서 임의로 작성 해봤는데, 안되는 군요 ㅠㅠ

 

1.http://site.com/cms/page/company

2.http://site.com/cms/page/index.php?pid=company

 

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cms/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^shop/list-([0-9a-z]+)$  shop/list.php?ca_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/type-([0-9a-z]+)$  shop/listtype.php?type=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([0-9a-zA-Z_\-]+)$  shop/item.php?it_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([^/]+)/$  shop/item.php?it_seo_title=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([0-9a-zA-Z_]+)$  bbs/content.php?co_id=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([^/]+)/$  bbs/content.php?co_seo_title=$1&rewrite=1      [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$  bbs/rss.php?bo_table=$1        [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$  bbs/board.php?bo_table=$1&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$  bbs/write.php?bo_table=$1&rewrite=1    [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$  bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1  [QSA,L]

 

RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1

</IfModule>

이 질문에 댓글 쓰기 :

답변 7

질문하신 것은

RewriteRule ^content/([0-9a-zA-Z_]+)$  bbs/content.php?co_id=$1&rewrite=1  [QSA,L]

RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1        [QSA,L] 

이것이 같습니다.

안 된다니 이상하네요.

rule은 순서가 중요합니다.

 

RewriteRule ^rss/([0-9a-zA-Z_]+)$  bbs/rss.php?bo_table=$1        [QSA,L]
이 다음에

RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1

넣어 보세요.

우선 답변 주셔서 감사합니다.
하지만...

Not Found
The requested URL /cms/page/company was not found on this server.

뜨면서 안되는 군요..

아직 찾아보고 있는 중이라..
shop, content 폴더 명이 다르면 순서가 상관 없을거 같은데,
순서가 중요 하군요...

page 앞에 ^ 은 뭐하는 친구인지..

우선 알려주셔서 감사합니다~

 

나머지 룰은 제가 작성한게 아니고,

그누보드5 관리자 기본환경설정 짧은 주소 url 설정에 있는거 복사해서그대로 붙여 넣었습니다.

제가 그누보드를  site.com/cms/ 경로에 설치했구요. 그래서 

htaccess 안에 RewriteBase /cms/ 내용이 들어가 있네요

 

RewriteEngine On
RewriteBase /cms/
 

위 내용이 들어가 있다면 처음에 알려주신데로, 

아래와 같이 작성하면 정상 작동 해야 하는게 맞는 거겠죠?

RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1

 

만약 RewriteBase /cms/ 를 지운다면 다시 답변 주신데로 아래와 같이 작성하면 동작이 되는거고..

RewriteRule ^cms/page/([0-9a-zA-Z_]+)$ cms/page/index.php?pid=$1

 

흠..

근데 둘다 안되는데, 카페24 문제인걸까요?

htaccess 를 처음부터 공부해야하나...

쉬울 줄 알았는데, 너무 어렵네요..흑흑 ㅠㅠ

RewriteRule ^content/([^/]+)/$  bbs/content.php?co_seo_title=$1&rewrite=1      [QSA,L]
위와 같은 방식으로
RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1
이것도 해 보시면 어떨까요?

답변 주셔서 감사합니다.

 

선생님 호스팅에서는 되는데 제꺼만 안되는걸까요?

 

비슷한 패턴보고 살짝 바꾸면 될줄 알았는데,

이리도 해보고 저리도 해봐도 안되는군요 ...

뭘 몰라서 안되는 건지 정말 답답하군요...

 [QSA,L] 요거는 뭔지 모르는데 다 붙어 있길래 필요한거 같아서 넣었습니다

현재 풀 코드는 일단 아래와 같이 되있습니다.

 

근데 

주소창에 1과 같이 접근하면 안되야 하는거 아닌가요?

2는 그냥 htacess 작성 내용과 관계없이 평소랑 똑같이 작동 하네요.

 

1.https://site.cafe24.com/cms/page/?pid=company

2.https://site.cafe24.com/cms/page/company

 

#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cms/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^shop/list-([0-9a-z]+)$  shop/list.php?ca_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/type-([0-9a-z]+)$  shop/listtype.php?type=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([0-9a-zA-Z_\-]+)$  shop/item.php?it_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([^/]+)/$  shop/item.php?it_seo_title=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([0-9a-zA-Z_]+)$  bbs/content.php?co_id=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([^/]+)/$  bbs/content.php?co_seo_title=$1&rewrite=1      [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$  bbs/rss.php?bo_table=$1        [QSA,L]
RewriteRule ^page/([0-9a-zA-Z_]+)$ page/index.php?pid=$1        [QSA,L] 
RewriteRule ^([0-9a-zA-Z_]+)$  bbs/board.php?bo_table=$1&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$  bbs/write.php?bo_table=$1&rewrite=1    [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$  bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1  [QSA,L]
</IfModule>
#### 그누보드5 rewrite END #####

주소창에 1과 같이 접근하면 안되야 하는거 아닌가요?

...

1.https://site.cafe24.com/cms/page/?pid=company

===

안 된다고 하시면, cms/page/index.php 파일이 없는 건가요?

아래와 같은 구조로 되어있는데..

 

1.htaccess 

thumb-2106213999_1651145801.2559_730x300.png

 

 

2.아래 경로로 요청시 동작 안됨

2106213999_1651145730.9021.png

 

3.아래 경로로 요청시 안되야 정상인거 같은데 작동함...

 

2106213999_1651145658.6074.png

 

2106213999_1651145522.9444.png


 

답변을 작성하시기 전에 로그인 해주세요.
전체 110
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT