rewrite모듈 작동이 안됩니다.
본문
domain.com/profile.php?mb_id=userid 경로를 domain.com/userid로 나오게 하고싶습니다.
.htaccess 파일
#### 그누보드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 파일을 생성해주고 내용은 아래와 같습니다
<?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
15행의 아래 정규식때문에 아래와 같이 서브폴드처럼 작성해주고 먼저오게 해줘야지 작동합니다.
게시판 갯수 및 이름이 확정되어 있다면 15행을 적절하게 수정해주시고 게시판이름 및 shop, rss등을 제한 아이디로 만드셔야될것 같습니다.
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]
답변을 작성하시기 전에 로그인 해주세요.