1

주제: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

사용 버전은 r31버전입니다.

덧) 태스트버전의 버그로 보이는 것은 여기에 리포팅하는 것이 맞나요? 혹시 태터센터에 올려야 되는 것이지 항상 고민됩니다 -_-;

2

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

저같은 경우 윈도우 apm 환경에서 rev31로 single, path type으로 테스트해봤는데 정상인거 같네요.

그리고 테스트버전이라도 버그는 "버그 보고 및 소스 개선" 쪽이 맞지 않을까요?
테스트버전이니 태터센터는 아닐거 같네요. smile


아 잘못봤군요. 저도 그 문제가 생기네요.
확인해봐야겠습니다. smile

Peris (2006-04-23 15:03:45)에 의해 마지막으로 수정

3

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

그리고 윈도우라서 그런건지 확인이 필요하겠지만
카테고리 제목에 '"\ 등의 문자가 들어가면 escape가 되어서
글이 있는데도 없다고 나오네요.
특히 제목에 / 가 들어갈 경우에는 404가 떠버리는군요.
이 것도 찾아봐야겠네요.

4

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

rawurlencode로 인코딩하는 과정에서 중복으로 링크가 들어가네요.

고쳐놓겠습니다. smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

5

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

Peris 작성:

저같은 경우 윈도우 apm 환경에서 rev31로 single, path type으로 테스트해봤는데 정상인거 같네요.

그리고 테스트버전이라도 버그는 "버그 보고 및 소스 개선" 쪽이 맞지 않을까요?
테스트버전이니 태터센터는 아닐거 같네요. smile


아 잘못봤군요. 저도 그 문제가 생기네요.
확인해봐야겠습니다. smile

* 예전에 태그의 띄어쓰기를 '+' 로 인식하는 버그를 "버그 보고 및 소스 개선" 게시판에 올렸더니 관리자님께서 이 게시판으로 옮기셔서요 ^^;

* 자세히 보니 홈페이지 초기 접속시에는 "/" 만 한 개 추가되고 다른 링크를 클릭하여 페이지가 refresh 가 되면 "/tt/" 가 추가되는군요..ㅇ_ㅇ;;

6

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

카테고리 제목에 / 이 들어가면 안되는 이유는 제가 전에 패치할 때 1차 카테고리/2차 카테고리가 붙어서 넘어오기 때문에 urlencode과정에서 /을 인코딩하지 않고 구분자로 만들기 위하여 str_replace로 /의 16진수 인코딩을 다시 / 로 번역하게 했기 때문입니다.

글 아래 카테고리 출력시 카테고리명을 읽어오는 부분을 기존의 부분을 포기하고 그냥 바로 읽어오도록 다시 만들어야 겠네요. smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

7

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

escape가 되어버리는 문제는 윈도우라서 그런거 같네요.
1.0.4로 CentOS와 윈도우에서 둘다 테스트해보니 윈도우에서만 문제가 생기는군요.
(apm 버전이나 세부설정의 차이일 수도 있겠지만; )

8

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

lib/suri.php

$url = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['SCRIPT_NAME'];

대신에

$url = isset($_SERVER['REQUEST_URI']) ? urldecode($_SERVER['REQUEST_URI']) : $_SERVER['SCRIPT_NAME'];

를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.

9

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

Peris 작성:

lib/suri.php
...
를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.

적용시켜 보았는데, 제 쪽에선 그 방식으로 해결이 되지 않습니다. ㅠ_ㅠ

고민이네요. 문서를 찾아보니 rawurlencode가 작동하는 알고리즘에는 별다른 문제가 없는 것 같은데, 일단 $permalink가 어떤 식으로 넘어오고 suri에서 어떤 식으로 번역되는지 보는 중입니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

10

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

원인이 대충 짐작이 갑니다.
suri에서 / 문자를 기준으로 링크를 잘라서 취급을 하게 되는데, 그 쪽으로 넘기는 url을 rawurlencode나 urlencode로 /을  16진수로 번역해서 보내니 얘가 그걸 쪼개지를 못하네요. 그래서 다중 디렉토리 구조를 그냥 뭉뚱그려 하나로 취급해 버려 발생합니다.

쉽게 해결하려면 쪼개는 문자에 / 의 16진수 인코딩을 추가하면 되겠지만, 이 경우 카테고리명에 /을 쓸 수 없게 됩니다. sad

어떻게 할 수 있을지 생각해 보는 중입니다. 좋은 생각 있으세요? smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

11

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

아 제가 말한 것은 '"\ 등의 escape가 되는 문자들 해결하는 방법이었습니다.
/ 는 바꾸신다길래 신경 안쓰고 있었;;

12

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

Peris 작성:

아 제가 말한 것은 '"\ 등의 escape가 되는 문자들 해결하는 방법이었습니다.
/ 는 바꾸신다길래 신경 안쓰고 있었;;

넵 생각해보니 그렇더군요;;;;; ㅎㅎ

첨에 decode해서 문자열 넘기면 해결될까? 생각했었는데 위의 줄이 그렇게 보여서 착각을 ;;;

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

13

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

다- 고쳐서 commit 했습니다 smile

permalink 만드는 루틴에서 인코딩 처리를 미리 하고, 출력시엔 인코딩 처리를 하지 않는 식으로 변경하였습니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

14

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

/ 문제는 아직 해결이 안된거 같네요.
그리고 카테고리가 아래와 같을 때 문제가 좀 있네요.

전체
- test/test
- test
- - test

test/test 를 클릭 시에는 404가 뜨고 test 하위의 test 를 클릭 시에는 test/test 의 내용이 나와버리네요.;

15

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

/ 문제는 지금 해결 중입니다. 헥헥 -
이 부분 해결되면 위의 문제도 함께 해결될 거라고 생각하고 있습니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

16

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

inureyes 작성:

/ 문제는 지금 해결 중입니다. 헥헥 -
이 부분 해결되면 위의 문제도 함께 해결될 거라고 생각하고 있습니다.

늦게 논의에 뛰어 들은것 같은데요.

permalink 가 rawurlencode 가 일부러 되지 않도록 처리한것은 아시지요 ?
RSS 를 제외한 나머지는 그대로 URL 이 보이도록 조치하고 있습니다.

entry/%123%123%32  이런 의미있는 문자열을 만들바에야 , 오로지 numeric 하게만 쓰는것이 옳다는 판단이었거든요. 내일 파파차님이랑 더 깊은 논의가 될 수 있도록 조치하겠습니다. smile

17

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

chester 작성:

늦게 논의에 뛰어 들은것 같은데요.

permalink 가 rawurlencode 가 일부러 되지 않도록 처리한것은 아시지요 ?
RSS 를 제외한 나머지는 그대로 URL 이 보이도록 조치하고 있습니다.

entry/%123%123%32  이런 의미있는 문자열을 만들바에야 , 오로지 numeric 하게만 쓰는것이 옳다는 판단이었거든요. 내일 파파차님이랑 더 깊은 논의가 될 수 있도록 조치하겠습니다. smile

전에 그 이야기를 읽은 적이 있는 것 같습니다. smile

하지만 다국어 지원이 목표라면 원칙적으로 링크는 전부 인코딩이 되어야 합니다. 그렇지 않으면 당장 일어판과 중국어판부터가 브라우저의 영향을 크게 받게 되죠. 그러한 이유로 대부분의 웹 어플리케이션이 주소 인코딩을 기본으로 하고 있습니다. 현재 1.0.4에서 영어를 제외한 외국어를 섞어서 링크를 만들어보시면 바로 링크가 깨지는 것을 확인할 수 있습니다.

글의 경우 numerical하게 출력하는 것이 가능합니다. 태그의 경우는 그게 힘들기 때문에 태그마다 번호를 붙이는 것 보다는 인코딩된 링크 주소를 출력하는 쪽이 낫다고 생각합니다. 주소창의 링크는 이상하게 보이지만, 브라우저 설정에 따라 링크에 마우스를 가져다 대어 나오는 링크는 디코드되어 보이니 주소창만 제외한다면 시각적인 무리는 좀 줄어들 것입니다. (예를 들어, IE6에서는 링크에 마우스를 대면 깨진 툴팁이 나오지만, 파이어폭스에서는 그 경우 제대로 된 툴팁이 나옵니다)

UTF8과 다국어 지원을 목표로 한다면, 사용자 입장이나 시각적인 부분에서는 아쉽지만 이런 부분까지도 완벽하게 가지고 가야 하지 않을까 하는 생각입니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

18

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

모든 링크를 인코딩해서 내보내고 사용하는 중인데, 역시 일반인들이 사용하기에는 링크가 예쁘지 않겠더군요. 모든 분들이 외국 블로거들과 대화하고 싶다거나 링크를 걸고 싶으신 것들도 아닐테니까요. 그렇지만 그 이외의 경우에는 인코딩이 반드시 필요하다고 생각합니다.

그런 이유로, 링크의 인코딩 부분을 라이브러리로 분리하고, 환경 설정 메뉴에서 선택할 수 있도록 하나 추가 하는 것이 나을 것 같다는 생각이 듭니다. 이름은 '모든 링크를 UTF-8로 내보내기' 정도면 어떨런지요. 따로 하나 추가하는 방법도 있고, 지금의 숫자로 내보내기 / 문자로 내보내기 선택에 한가지를 추가하는 방법도 있을 것 같습니다.

방향만 정해지면 구현은 내일 저녁에 시간이 날 때 해 볼 수 있을 것 같습니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

19

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

Peris 작성:

lib/suri.php
...
를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.

이렇게 수정할 경우 블로그 아래의 페이지 링크를 눌러 이동할 때 2 페이지 이상으로 이동이 되지 않습니다.

확인 바랍니다 smile

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

20

답글: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.

inureyes 작성:

이렇게 수정할 경우 블로그 아래의 페이지 링크를 눌러 이동할 때 2 페이지 이상으로 이동이 되지 않습니다.

확인 바랍니다 smile

네 그렇네요.;

아래와 같이 수정하면 그 문제는 해결이 됩니다.
(rawurlencode로 넘겨주는거 같아서 rawurldecode로 변경했음; )

if(isset($_SERVER['REQUEST_URI'])) {
    $parse = parse_url(rawurldecode($_SERVER['REQUEST_URI']));
    $url = $parse['path'];
} else {
    $url = $_SERVER['SCRIPT_NAME'];
}

음.. 근데 이 문제하고 / 문제는 처음부터 다시 봐야될거 같네요.
아직 어디서 어떻게 넘겨줘서 어디서 어떻게 받는지를 모르겠군요. -_-;;