1

주제: /417 또는 /blog/417 이렇게 두가지 접근이 가능한가요??

안녕하세요
티스토리를 사용하다 텍스트큐브로 설치를 해서 사용을 하려고 하는데
티스토리를 사용할때 주소가 루트에서 바로 번호로 접근이 되는 방식이었습니다.

그러다가 텍스트큐브를 설치하면서 /blog/ 라는 폴더아래에 설치를 해서
/blog/번호 로 접속이 가능하게 되었습니다.

이전글들에 링크들이 루트에서 바로 걸려있어서 이전 주소도 유지해보려고 하는데
보니까 rewrite를 이용하면 될꺼라고 하는데 어찌해야할지 난감해서요

/blog/에 기본적으로 설치할때 들어있는 .htaccess파일은 그대로 두고
/ 루트에 있는 .htaccess파일에 아래 두줄을  추가하였습니다.

RewriteEngine On
RewriteRule ^[0-9]+$ /blog/$1/ [L]

숫자로 요청들어올때만 블로그로 들어가도록....
블로그로는 들어가는데 해당 게시물로 가지 않고 그냥 단순히 블로그로만 이동이 되네요
어찌 해결할 방법이 없을까요??

긴글 읽어주셔서 감사합니답 (__)

2

답글: /417 또는 /blog/417 이렇게 두가지 접근이 가능한가요??

괄호가 빠진듯?

3

답글: /417 또는 /blog/417 이렇게 두가지 접근이 가능한가요??

gendoh 작성:

괄호가 빠진듯?

RewriteRule ^[0-9]+$ /blog/$1/ [L]

윗줄의 숫자를 덮는 괄호 말씀하시는건가요??

RewriteRule ^([0-9]+)$ /blog/$1/ [L]

제가 빠드리고 적은것 같습니다.
그런데 적으나 안적으나 이동은 하는데 해당 게시물이 아니라 그냥 첫화면(?)으로 이동을 하네요 ㅜㅜ

이거 말씀하시는게 아니라면 어떤건지...죄송하지만 다시 말씀부탁드리겠습니답

/blog/ 로 이동한것과 같은.... 로그를 볼수 없어서 일부러 에러를 내어 실제 요청하는 페이지가 무엇인지 보았는데 요청페이지는 /blog/417 로 요청은 하는것 같은데 실제로 나오는 페이지는 /blog/네요

어찌 해결할 수 없을까요?

감사합니다

4

답글: /417 또는 /blog/417 이렇게 두가지 접근이 가능한가요??

    if (strpos($accessInfo['fullpath'],$accessInfo['root']) !== 0)
        $accessInfo['fullpath'] = $accessInfo['root'].substr($accessInfo['fullpath'], strlen($accessInfo['root']) - 1);

rewrite.php 18번째 라인에 위와 같은 부분이 있는데 이 부분이 문제군요.
제가 잘못 이해한건지는 모르겠지만 저 코드는 잘못 작성이 되어 있는거 같네요.
자세한건 다른 분이 설명드릴겁니다.

일단 기존 코드는 유지하면서 해결하려면 아래 코드를 위의 코드 윗줄에 넣어주세요.

    if (strpos($accessInfo['fullpath'],$accessInfo['root']) === false)
        $accessInfo['fullpath'] = $accessInfo['root'].substr($accessInfo['fullpath'], 1);

5

답글: /417 또는 /blog/417 이렇게 두가지 접근이 가능한가요??

Peris 작성:
    if (strpos($accessInfo['fullpath'],$accessInfo['root']) !== 0)
        $accessInfo['fullpath'] = $accessInfo['root'].substr($accessInfo['fullpath'], strlen($accessInfo['root']) - 1);

rewrite.php 18번째 라인에 위와 같은 부분이 있는데 이 부분이 문제군요.
제가 잘못 이해한건지는 모르겠지만 저 코드는 잘못 작성이 되어 있는거 같네요.
자세한건 다른 분이 설명드릴겁니다.

일단 기존 코드는 유지하면서 해결하려면 아래 코드를 위의 코드 윗줄에 넣어주세요.

    if (strpos($accessInfo['fullpath'],$accessInfo['root']) === false)
        $accessInfo['fullpath'] = $accessInfo['root'].substr($accessInfo['fullpath'], 1);

아 위의 코드가 주소를 바꿔주는군요
/417 이 fullpath 이고 /blog/가 root 인데 윗줄을 실행하면 그냥 /blog/가 되어버리는군요
Peris 님이 알려주신대로 윗줄에 코드를 추가하여 해결 하였습니다.
정말 대단히 감사드립니다^^

답변 주신 gendoh님 Peris 님 정말 감사드립니다. (__)

복 받으실거에요^^//



그냥 블로그 메인으로 가기위해 /를 붙이지 않고 /blog로 접속하면 페이지 표시가 되지 않는 문제가 생기네요
이건 뭐 그냥 조건 수정으로 가능한 문제이니 해결된것 같네요^^
다시한번 감사드립니답

zekill (2008-04-01 10:35:38)에 의해 마지막으로 수정