rewriterule 정규식 질문드려요 채택완료
코쟁히
3년 전
조회 1,827
현재 나리야 빌더 사용중이구요.
나리야는 기본적으로 .htaccess 파일이 셋팅이 되있더라구요.
근데 적용안되는 url이 있어서 수정을 하는데 계속 404 오류가 나와서 질문드립니다.
기존 파일에서
#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
-----생략--------
</IfModule>
#### 그누보드5 rewrite END #####</p>
<p>
RewriteRule ^/areasearch/([^/]+)/([^/]+)$ /areasearch?sfl=$1&stx=$2 [QSA,L]
정규식 추가해서 수정했습니다. 최종 .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 ^/areasearch/([^/]+)/([^/]+)$ /areasearch?sfl=$1&stx=$2 [QSA,L]
</IfModule>
#### 그누보드5 rewrite END #####</p>
<p>
제 의도는 https://도메인/areasearch?sfl=wr_7&stx=apple
이 url을 간략하게 https://도메인/areasearch/wr_7/apple
이런식으로 나오게 할려고 한건데 이 주소로 들어가면 404오류가 나오네요;; 뭐가 문제일까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
답변에 대한 댓글 3개
�
코쟁히
3년 전
areasearch.php는 잘모르겠구요ㅠ skin>board>에 있는 보드명입니다ㅠ
�
엑스엠엘
3년 전
areasearch가 게시판 id(bo_table)이라면
위치가 잘못 되었습니다.
RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^/areasearch/([^/]+)/([^/]+)$ /bbs/board.php?bo_table=areasearch&sfl=$1&stx=$2 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
...
이런 식이 되어야 할 겁니다.
위치가 잘못 되었습니다.
RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^/areasearch/([^/]+)/([^/]+)$ /bbs/board.php?bo_table=areasearch&sfl=$1&stx=$2 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
...
이런 식이 되어야 할 겁니다.
�
코쟁히
3년 전
헐....정말 감사합니다ㅠㅠㅠㅠ이틀동안 해결못하고있었는데....... 답변 덕분에 해결했습니다ㅠㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
3년 전
다른 것을 보면 shop, content, rss 등 앞에 /가 없네요. /를 아래처럼 빼고 해 보세요
</p>
<pre>
<code>RewriteRule ^areasearch/([^/]+)/([^/]+)$ areasearch?sfl=$1&stx=$2 [QSA,L]</code></pre>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
코쟁히
3년 전
정말 감사합니다ㅠㅠㅠㅠㅠㅠ 엑스엠엘님께서 말씀해주신거랑 / 빼고 하니까 성공했습니다.. 이틀동안 못하고있었는데ㅠㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인