채택완료

rewrite모듈 작동이 안됩니다.

2020-06-22 (월) 05:40:54 2,412

domain.com/profile.php?mb_id=userid 경로를 domain.com/userid로 나오게 하고싶습니다.

.htaccess 파일

Copy
#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
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 ^([^/]*)$ bbs/profile.php?mb_id=$1&rewrite=1      [QSA,L] // 추가된 소스
</IfModule>
#### 그누보드5 rewrite END #####

기존소스에 RewriteRule ^([^/]*)$ bbs/profile.php?mb_id=$1&rewrite=1 한줄만 추가했습니다.

mb_id로 변수값을 줘서 닉네임과 아이디가 뜨게하려고 하는 간단한 페이지 입니다.

bbs폴더에 profile.php 파일을 생성해주고 내용은 아래와 같습니다

Copy
<?php
include_once('./_common.php');
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

include_once(G5_PATH.'/head.sub.php');
?>

        <div class="main-container">
            <section class="bg--secondary space--sm">
                <div class="container">
                    <div class="row justify-content-center">
                        <div class="col-lg-8">
                            <div class="boxed boxed--lg boxed--border">
                                <div class="text-block text-center">
                                    <span class="h5"><?php echo get_text($member['mb_nick']) ?></span>
                                    <span><?php echo $member['mb_id'] ?></span>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </section>
            
<?php
include_once(G5_PATH.'/tail.sub.php');
?>

/bbs/profile.php에 뭔가 변수를 따로 설정해줘야하나요?

예를들어 아이디가 test일 경우 domain.com/test로 접속하면 프로필페이지가 떠야하는데 안뜨네요.

도움주시면 감사하겠습니다 ㅠㅠ

|

답변 1개

채택된 답변
+20 포인트
2020-06-22 (월) 14:09:00

15행의 아래 정규식때문에 아래와 같이 서브폴드처럼 작성해주고 먼저오게 해줘야지 작동합니다.

게시판 갯수 및 이름이 확정되어 있다면 15행을 적절하게 수정해주시고 게시판이름 및 shop, rss등을 제한 아이디로 만드셔야될것 같습니다.

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

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

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