주제: 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.
본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.
사용 버전은 r31버전입니다.
덧) 태스트버전의 버그로 보이는 것은 여기에 리포팅하는 것이 맞나요? 혹시 태터센터에 올려야 되는 것이지 항상 고민됩니다 -_-;
아직 로그인하지 않았습니다. 로그인 또는 회원 등록을 해 주시기 바랍니다.
TNF : Tatter Network Foundation forum » 버그 보고 및 QA (Quality Assurance) » 본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.
본문 제목의 링크주소에 "/tt/"가 한 개 더 생깁니다.
사용 버전은 r31버전입니다.
덧) 태스트버전의 버그로 보이는 것은 여기에 리포팅하는 것이 맞나요? 혹시 태터센터에 올려야 되는 것이지 항상 고민됩니다 -_-;
저같은 경우 윈도우 apm 환경에서 rev31로 single, path type으로 테스트해봤는데 정상인거 같네요.
그리고 테스트버전이라도 버그는 "버그 보고 및 소스 개선" 쪽이 맞지 않을까요?
테스트버전이니 태터센터는 아닐거 같네요. ![]()
아 잘못봤군요. 저도 그 문제가 생기네요.
확인해봐야겠습니다. ![]()
Peris (2006-04-23 15:03:45)에 의해 마지막으로 수정
그리고 윈도우라서 그런건지 확인이 필요하겠지만
카테고리 제목에 '"\ 등의 문자가 들어가면 escape가 되어서
글이 있는데도 없다고 나오네요.
특히 제목에 / 가 들어갈 경우에는 404가 떠버리는군요.
이 것도 찾아봐야겠네요.
rawurlencode로 인코딩하는 과정에서 중복으로 링크가 들어가네요.
고쳐놓겠습니다. ![]()
저같은 경우 윈도우 apm 환경에서 rev31로 single, path type으로 테스트해봤는데 정상인거 같네요.
그리고 테스트버전이라도 버그는 "버그 보고 및 소스 개선" 쪽이 맞지 않을까요?
테스트버전이니 태터센터는 아닐거 같네요.아 잘못봤군요. 저도 그 문제가 생기네요.
확인해봐야겠습니다.
* 예전에 태그의 띄어쓰기를 '+' 로 인식하는 버그를 "버그 보고 및 소스 개선" 게시판에 올렸더니 관리자님께서 이 게시판으로 옮기셔서요 ^^;
* 자세히 보니 홈페이지 초기 접속시에는 "/" 만 한 개 추가되고 다른 링크를 클릭하여 페이지가 refresh 가 되면 "/tt/" 가 추가되는군요..ㅇ_ㅇ;;
카테고리 제목에 / 이 들어가면 안되는 이유는 제가 전에 패치할 때 1차 카테고리/2차 카테고리가 붙어서 넘어오기 때문에 urlencode과정에서 /을 인코딩하지 않고 구분자로 만들기 위하여 str_replace로 /의 16진수 인코딩을 다시 / 로 번역하게 했기 때문입니다.
글 아래 카테고리 출력시 카테고리명을 읽어오는 부분을 기존의 부분을 포기하고 그냥 바로 읽어오도록 다시 만들어야 겠네요. ![]()
escape가 되어버리는 문제는 윈도우라서 그런거 같네요.
1.0.4로 CentOS와 윈도우에서 둘다 테스트해보니 윈도우에서만 문제가 생기는군요.
(apm 버전이나 세부설정의 차이일 수도 있겠지만; )
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'];를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.
lib/suri.php
...
를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.
적용시켜 보았는데, 제 쪽에선 그 방식으로 해결이 되지 않습니다. ㅠ_ㅠ
고민이네요. 문서를 찾아보니 rawurlencode가 작동하는 알고리즘에는 별다른 문제가 없는 것 같은데, 일단 $permalink가 어떤 식으로 넘어오고 suri에서 어떤 식으로 번역되는지 보는 중입니다.
원인이 대충 짐작이 갑니다.
suri에서 / 문자를 기준으로 링크를 잘라서 취급을 하게 되는데, 그 쪽으로 넘기는 url을 rawurlencode나 urlencode로 /을 16진수로 번역해서 보내니 얘가 그걸 쪼개지를 못하네요. 그래서 다중 디렉토리 구조를 그냥 뭉뚱그려 하나로 취급해 버려 발생합니다.
쉽게 해결하려면 쪼개는 문자에 / 의 16진수 인코딩을 추가하면 되겠지만, 이 경우 카테고리명에 /을 쓸 수 없게 됩니다. ![]()
어떻게 할 수 있을지 생각해 보는 중입니다. 좋은 생각 있으세요? ![]()
아 제가 말한 것은 '"\ 등의 escape가 되는 문자들 해결하는 방법이었습니다.
/ 는 바꾸신다길래 신경 안쓰고 있었;;
아 제가 말한 것은 '"\ 등의 escape가 되는 문자들 해결하는 방법이었습니다.
/ 는 바꾸신다길래 신경 안쓰고 있었;;
넵 생각해보니 그렇더군요;;;;; ㅎㅎ
첨에 decode해서 문자열 넘기면 해결될까? 생각했었는데 위의 줄이 그렇게 보여서 착각을 ;;;
다- 고쳐서 commit 했습니다 ![]()
permalink 만드는 루틴에서 인코딩 처리를 미리 하고, 출력시엔 인코딩 처리를 하지 않는 식으로 변경하였습니다.
/ 문제는 아직 해결이 안된거 같네요.
그리고 카테고리가 아래와 같을 때 문제가 좀 있네요.
전체
- test/test
- test
- - test
test/test 를 클릭 시에는 404가 뜨고 test 하위의 test 를 클릭 시에는 test/test 의 내용이 나와버리네요.;
/ 문제는 지금 해결 중입니다. 헥헥 -
이 부분 해결되면 위의 문제도 함께 해결될 거라고 생각하고 있습니다.
/ 문제는 지금 해결 중입니다. 헥헥 -
이 부분 해결되면 위의 문제도 함께 해결될 거라고 생각하고 있습니다.
늦게 논의에 뛰어 들은것 같은데요.
permalink 가 rawurlencode 가 일부러 되지 않도록 처리한것은 아시지요 ?
RSS 를 제외한 나머지는 그대로 URL 이 보이도록 조치하고 있습니다.
entry/%123%123%32 이런 의미있는 문자열을 만들바에야 , 오로지 numeric 하게만 쓰는것이 옳다는 판단이었거든요. 내일 파파차님이랑 더 깊은 논의가 될 수 있도록 조치하겠습니다. ![]()
늦게 논의에 뛰어 들은것 같은데요.
permalink 가 rawurlencode 가 일부러 되지 않도록 처리한것은 아시지요 ?
RSS 를 제외한 나머지는 그대로 URL 이 보이도록 조치하고 있습니다.entry/%123%123%32 이런 의미있는 문자열을 만들바에야 , 오로지 numeric 하게만 쓰는것이 옳다는 판단이었거든요. 내일 파파차님이랑 더 깊은 논의가 될 수 있도록 조치하겠습니다.
전에 그 이야기를 읽은 적이 있는 것 같습니다. ![]()
하지만 다국어 지원이 목표라면 원칙적으로 링크는 전부 인코딩이 되어야 합니다. 그렇지 않으면 당장 일어판과 중국어판부터가 브라우저의 영향을 크게 받게 되죠. 그러한 이유로 대부분의 웹 어플리케이션이 주소 인코딩을 기본으로 하고 있습니다. 현재 1.0.4에서 영어를 제외한 외국어를 섞어서 링크를 만들어보시면 바로 링크가 깨지는 것을 확인할 수 있습니다.
글의 경우 numerical하게 출력하는 것이 가능합니다. 태그의 경우는 그게 힘들기 때문에 태그마다 번호를 붙이는 것 보다는 인코딩된 링크 주소를 출력하는 쪽이 낫다고 생각합니다. 주소창의 링크는 이상하게 보이지만, 브라우저 설정에 따라 링크에 마우스를 가져다 대어 나오는 링크는 디코드되어 보이니 주소창만 제외한다면 시각적인 무리는 좀 줄어들 것입니다. (예를 들어, IE6에서는 링크에 마우스를 대면 깨진 툴팁이 나오지만, 파이어폭스에서는 그 경우 제대로 된 툴팁이 나옵니다)
UTF8과 다국어 지원을 목표로 한다면, 사용자 입장이나 시각적인 부분에서는 아쉽지만 이런 부분까지도 완벽하게 가지고 가야 하지 않을까 하는 생각입니다.
모든 링크를 인코딩해서 내보내고 사용하는 중인데, 역시 일반인들이 사용하기에는 링크가 예쁘지 않겠더군요. 모든 분들이 외국 블로거들과 대화하고 싶다거나 링크를 걸고 싶으신 것들도 아닐테니까요. 그렇지만 그 이외의 경우에는 인코딩이 반드시 필요하다고 생각합니다.
그런 이유로, 링크의 인코딩 부분을 라이브러리로 분리하고, 환경 설정 메뉴에서 선택할 수 있도록 하나 추가 하는 것이 나을 것 같다는 생각이 듭니다. 이름은 '모든 링크를 UTF-8로 내보내기' 정도면 어떨런지요. 따로 하나 추가하는 방법도 있고, 지금의 숫자로 내보내기 / 문자로 내보내기 선택에 한가지를 추가하는 방법도 있을 것 같습니다.
방향만 정해지면 구현은 내일 저녁에 시간이 날 때 해 볼 수 있을 것 같습니다.
lib/suri.php
...
를 사용하면 해결은 되는거 같은데 다른 문제가 없는지 좀 더 봐야겠네요.
이렇게 수정할 경우 블로그 아래의 페이지 링크를 눌러 이동할 때 2 페이지 이상으로 이동이 되지 않습니다.
확인 바랍니다 ![]()
이렇게 수정할 경우 블로그 아래의 페이지 링크를 눌러 이동할 때 2 페이지 이상으로 이동이 되지 않습니다.
확인 바랍니다
네 그렇네요.;
아래와 같이 수정하면 그 문제는 해결이 됩니다.
(rawurlencode로 넘겨주는거 같아서 rawurldecode로 변경했음; )
if(isset($_SERVER['REQUEST_URI'])) {
$parse = parse_url(rawurldecode($_SERVER['REQUEST_URI']));
$url = $parse['path'];
} else {
$url = $_SERVER['SCRIPT_NAME'];
}음.. 근데 이 문제하고 / 문제는 처음부터 다시 봐야될거 같네요.
아직 어디서 어떻게 넘겨줘서 어디서 어떻게 받는지를 모르겠군요. -_-;;