1

주제: rewrite 모듈을 껐을 때 버그가 있습니다.

텍스트큐브 1.6.3 을 설치해서 사용하고 있습니다.

태터툴즈 0.9x 버전 대부터 꾸준히 사용해오고 있는데, 갈수록 기능이 추가 되는 점은 좋으나, 왠지 점점 더 무거워진다는 느낌이 듭니다.

댓글에 댓글 달기와 같은 기능을 이용하면, 팝업 창에 폼이 뜨는데도 상당히 오랜 시간이 걸리고, 댓글을 전송하는데도 시간이 오래 걸리더군요. 뭔가 오류가 나서 댓글이 안 달아졌나 싶어 다시 달아보거나 보내기를 여러번 클릭해보면 같은 내용의 댓글이 주루룩 달리기 일쑤였습니다.

이런 현상이 rewrite 모듈 때문에 발생하는가 싶어 rewrite 모듈을 끄고 사용하고 있습니다. config.php 에 fancyURL = 0 을 설정하고, .htaccess 에서 RewriteEngine Off 로 설정했습니다. 위에서 언급한 댓글에 댓글 달기 기능이나, 기타 화면 전환에 있어서 반응 속도가 향상 되었음을 체감할 수 있었습니다.

그런데 글 작성하기나 글 삭제하기에 버그가 있군요.
글 목록화면에서 item 오른쪽의 휴지통 버튼을 눌렀을 때, "Precondition Failed" 라는 에러 메세지가 발생합니다. 주소창에 URL에는 "index.php?/owner/entry/delete/890?command=delete" 이라고 바뀌는 군요. 물음표가 두개 들어가 있음을 발견할 수 있었습니다. 그러나, 가운데의 물음표를 &로 바꿔도 동작하지 않습니다.

작성되어 있는 기존 글을 편집한 후에, "저장 후 닫기"를 클릭하면 새로운 글 번호를 부여 받게 됩니다.


1.6.3 이 처음 발표한 이후에 몇번 새로 발표되었다는 사실은 아는데, 현재 설치한 버전을 언제 다운 받았는지 기억 나지 않습니다.

tc 에 들어 있는 파일 중 일부의 시간:
2008-04-24 00:19 rewrite.php
2008-04-24 00:31 setup.php

서버 OS는 fedora 8 을 사용 중입니다.
apache 2.2.8, php 5.2.4, mysql 5.0.45

ps...
좀전에 다시 다운 받아서 엎어쳐 봤는데, 같은 버그가 존재하는군요.

laphir (2008-05-16 01:04:31)에 의해 마지막으로 수정

2

답글: rewrite 모듈을 껐을 때 버그가 있습니다.

lib/auth.php 의 함수 requireStrictRoute() 에서,

$_SERVER['HTTP_REFERER'] 를 검사하게 되는데, 여기에 아무 값도 할당이 되어 있지 않아서 발생하는 문제입니다.

3

답글: rewrite 모듈을 껐을 때 버그가 있습니다.

rewrite engine에서 원래는 존재하는 static 파일에 대한 제어는 하지 않고 바로 뿌려주어야 하는데, 경로 모드의 일부에서 rewrite.php를 거쳐서 보여주는 문제가 있습니다. jpg, css등등의 파일을 보여줄 때 php 파서를 실행해서 그걸 거치게 되는거죠. (도메인 모드에서는 일어나지 않습니다.) 그래서 속도가 느립니다. 1.7에서 고쳐질 예정입니다. T_T

rewrite engine을 쓰지 않을 때의 버그는 965번 티켓에 등록하였습니다. 감사합니다! (고쳐주셔도 환영이라는... T_T)

"Everything looks different on the other side."

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