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
넣어 보세요.
우선 알려주셔서 감사합니다~
나머지 룰은 제가 작성한게 아니고,
그누보드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 를 처음부터 공부해야하나...
쉬울 줄 알았는데, 너무 어렵네요..흑흑 ㅠㅠ
답변 주셔서 감사합니다.
선생님 호스팅에서는 되는데 제꺼만 안되는걸까요?
비슷한 패턴보고 살짝 바꾸면 될줄 알았는데,
이리도 해보고 저리도 해봐도 안되는군요 ...
뭘 몰라서 안되는 건지 정말 답답하군요...
[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 파일이 없는 건가요?
안되지만...
많이 알려주셔서 일단 채택했습니다..
감사합니다~
뭔가 다른 호스팅에서 테스트 해봐야 할까봐요.