Ticket #718 (closed enhancement: fixed)

Opened 21 months ago

Last modified 9 months ago

rewrite module 독립성

Reported by: inureyes Owned by: inureyes
Priority: major Milestone: 1.6
Component: Core Version: 1.6
Keywords: alias,rewrite Cc:
Release:

Description

개요

  • rewrite module이 없는 환경에서도 동작 가능하도록 수정
  • 이 경우 single-mode만 지원.
  • suri 루틴과 EAF의 URL schema를 wrapping합니다.
  • index / item의 구별이 매우 귀찮으므로 #660 도 함께 처리합니다.

Summary

  • Let TC to work without apache rewrite modules.
  • Only single-user mode is supported.
  • wrap the suri routine and URL schama in EAF HTTPRequest module
  • Change the item id parsing methods, related to ticket #660.

Change History

Changed 21 months ago by creorix

#439와 겹치는 티켓인 것 같습니다.

Changed 21 months ago by inureyes

먼 옛날 #439 티켓과 겹쳐서 이리로 합칩니다.

Changed 21 months ago by inureyes

  • status changed from new to assigned

Changed 21 months ago by inureyes

  • summary changed from rewrite module 독립성 추가 to rewrite module 독립성

Changed 21 months ago by inureyes

[4596]

  • 손을 대기 위한 사전 작업.

Changed 21 months ago by inureyes

[4598], [4599], [4560]

  • entry 부분의 index/item 상호참조 개선 (suri 변수의 유무로 item인지 아닌지 알아냅니다.)
  • 일괄적으로 index.php로 위치하지 않고 어떤 곳은 index.php로, 어떤 곳은 item.php로 기능이 몰려 있는 이유는 나중에 trac으로 변경 이력을 확인하기 좋은 쪽으로 몰았습니다.
    • edit 같은 경우 index.php로 이동하고 item.php이 symbolic link로 변경되면 참으로 예전 변경을 따라가 보기 힘들지요.

Changed 21 months ago by inureyes

[4601]

  • 남은 부분들 처리.
  • 이제 EAF에서 HTTPRequest 날라가는 부분을 수정합니다.

Changed 21 months ago by inureyes

URL에서 GET값을 파싱해서 id 요소를 받아 와야 할 것인가

  • 이 경우 IV를 통과하는 supervariable로 $_GETid?를 허용해야 한다.
  • numeric한지만 체크하는 방법으로 동작할 수 있을것.
  • 이걸 통과시키려면 EPC를 수정해야 한다. 범용성에 희생을 줘야 한다.
  • 다들 좋은 생각 없으심?

Changed 21 months ago by inureyes

[4603], [4604], [4605]

  • 경로로 id를 파싱할 수 없는 환경에서는 POST/GET의 id값으로 suriid? 를 지정하도록 한다.
  • rewrite engine을 사용하지 않는 환경에서는 해당 값을 validate하도록 함.

Changed 21 months ago by inureyes

  • 관련하여 맨날 처리해주기가 귀찮으니까 EAF / Lib단 공히 parseURL같은 뭔가를 하나 써버릴까 싶음.

Changed 21 months ago by inureyes

[4606]

  • 글 쓰기 및 기타 환경 설정까지 됩니다. 이제 테스트 페이즈.

Changed 21 months ago by inureyes

[4607]

  • 사이드바 사용 부분 수정
  • URL 호환성을 알아서 처리하는 parseURL 도입

Changed 21 months ago by inureyes

아.. 테스트할려면 single mode에서 루트의 config.php에 $serviceuseRewriteEngine? = false; 넣으면 됩니다. 경로는 설치경로/blog 가 메인이 됩니다. (클래식 시절 /tt 처럼 생각하면 됨)

Changed 21 months ago by inureyes

[4608]

  • 환경설정-블로그에서의 url 룰 수정

Changed 21 months ago by inureyes

[4609]

  • EAF에서 GET method로 데이터 보낼 때 제대로 동작하도록 수정.

Changed 21 months ago by inureyes

[4610]

  • htaccess 비의존 환경에서 AJAX request 보낼때 발생할 수 있는 모든 가능성에 대한 workaround 반영 완료
  • 혹시 적어놓은 것에 또 빼먹은게 있을라나?

Changed 21 months ago by inureyes

[4611]

  • EAF 버그 수정
  • 플러그인 패널 사용 가능하도록 개선

Changed 21 months ago by inureyes

[4612]

  • rewrite module이 없는 경우에도 설치할 수 있도록 setup.php 수정.

Changed 21 months ago by inureyes

[4613]

  • 너무 rewrite engine 없는 경우만 집중하다가 보통때에 대한 조건을 빼먹었음. T_T

Changed 21 months ago by inureyes

[4614]

  • 캐시 고려하여 파일 이름 변경

Changed 20 months ago by inureyes

[4622]

Changed 20 months ago by graphittie

[4636]

  • [4596] 보충. $service 변수를 사용하기 위해서는 config.php가 필요함.

Changed 20 months ago by inureyes

[4699]

  • 방명록 사용 가능하도록 함.

Changed 19 months ago by inureyes

기존의 rewrite engine도 초간단하게 수정합니다. (외국 계정에서도 잘 돌아가도록!)

Changed 19 months ago by inureyes

[4831]

  • new rewrite engine 도입
  • checkup에서 rewrite 수정하는 부분 손대야 함.

Changed 19 months ago by inureyes

[4832]

[4834][4835]

  • .htaccess 수정 체크업 추가

Changed 19 months ago by inureyes

[4836]

  • 주소 파싱하여 현재 모드 알아내는 부분을 추가적으로 수정
  • 이제 무슨 환경이든 어쨌든 돌아갑니다. fastCGI든, 외국 서버든 뭐 어쨌든...

Changed 19 months ago by inureyes

[4838]

  • [4836] 수정
  • 환경 안타고 어디서나 잘 돌게...

Changed 19 months ago by inureyes

[4840]

  • 로드 감소
  • suri에서 directive 파싱하는 부분의 오류 수정
  • 웬지 domain, path에선 별 일이 없을텐데 저게 걱정된다 single..

Changed 19 months ago by inureyes

[4841]

  • [4840] 누락 변경점 반영

Changed 19 months ago by inureyes

[4844]

  • 인자가 숫자인 경우에 대응하도록 코드 수정

Changed 19 months ago by inureyes

[4845]

  • 도메인 기반의 다중 블로그에서 suri 예외처리 루틴 추가.

Changed 19 months ago by inureyes

[4846]

  • 디버그 코드 제외

Changed 19 months ago by inureyes

[4847]

  • rewrite engine 다이어트

Changed 19 months ago by inureyes

[4848]

  • suri 파싱시 예외처리 강화.
  • ROOT를 더이상 사용하지 않으므로 여기에 의존하는 depth 계산이 치환되었습니다.
  • 기존의 .htaccess로도 똑같이 블로그를 사용할 수 있습니다. (새 엔진은 옵션) 그러나 checkup 과정이 자동으로 .htaccess

를 새 rewrite 루틴을 사용하도록 패치하니 유의 바랍니다.

Changed 19 months ago by inureyes

[4849]

  • cache 및 thumbnail에 들어있는 컨텐츠를 읽는 과정에서 생기는 문제 수정

Changed 19 months ago by inureyes

[4850]

  • 숫자로 된 주소를 읽을 때 발생할 수 있는 오류 수정 (댓글/방명록 등)

Changed 19 months ago by inureyes

[4851]

  • suri 루틴 경량화 및 논리구조 재편
  • rewrite 모듈에서 날려주는 값으로 현재 require한 인터페이스의 깊이를 유추합니다. (제일 확실한 방법)

Changed 19 months ago by inureyes

[4852]

  • / 관련 파싱에서 에러 발생할 수 있는 부분 사전 차단.

Changed 19 months ago by inureyes

[4853]

  • domain의 경우 루트에서 /를 붙여서 슬래시가 중복으로 들어갈 수 있는 문제 수정
    • include시에는 별 상관은 없는데, 이 정보로 depth를 계산할 때 문제가 된다.

Changed 19 months ago by inureyes

[4854]

  • fastCGI with Apache2 환경에서 테스트.
  • 관련하여 필요없는 소스들 삭제.
  • fastCGI 지원 workarounds들 삭제.

Changed 19 months ago by inureyes

[4855]

  • fastCGI 호환성을 위한 파서 수정
  • fastCGI 호환성을 위한 .htaccess 수정
  • 크리스마스 이브는 코드와 함께-

Changed 19 months ago by inureyes

[4856]

Changed 19 months ago by mcfuture

휴지통 클릭 시 아래 에러가 발생합니다..

Warning: require(blog/owner/entry/trash/comment/index.php/index.php) [function.require]: failed to open stream: Not a directory in /web/home/mcfuture/html/rewrite.php on line 40

Fatal error: require() [function.require]: Failed opening required 'blog/owner/entry/trash/comment/index.php/index.php' (include_path='.:/usr/lib/php/pear') in /web/home/mcfuture/html/rewrite.php on line 40

Changed 19 months ago by inureyes

[4857]

  • suri 처리시에 index.php를 받아들이지 못하기 때문에 해당 부분을 수정함
  • mod_rewrite를 아예 사용하지 않는 경우에도 자동으로 index.php 붙여주기 때문에 굳이 필요 없습니다~
  • reported by McFuture ( http://dev.textcube.org/ticket/718#comment:45 )

Changed 19 months ago by inureyes

[4858]

  • 번호로 글 참조하는 경우 (entry를 숫자로 접근하는 경우) 발생하는 에러 수정
  • reported by McFuture

Changed 19 months ago by inureyes

[4861]

  • 글쓰기 및 백업시 새 rewrite 처리 모듈이 제대로 동작하지 않는 문제 수정.

[4862]

  • notice의 alias인 page가 정상적으로 동작하지 않는 문제 수정
  • reported by funny4u

Changed 19 months ago by lunamoth

"블로그 공개 정책을 설정합니다" 의 모든 설정치가 저장되지 않는 문제가 있는것 같습니다..

Changed 19 months ago by lunamoth

파일 업로드시 업로드 목록창에 다음과 같은 에러가 발생합니다.

Warning: main(blog/owner/entry/attachmulti/refresh/0/index.php): failed to open stream: No such file or directory in /home/lunamoth/public_html/rewrite.php on line 41
Warning: main(blog/owner/entry/attachmulti/refresh/0/index.php): failed to open stream: No such file or directory in /home/lunamoth/public_html/rewrite.php on line 41
Fatal error: main(): Failed opening required 'blog/owner/entry/attachmulti/refresh/0/index.php' (include_path='.:/usr/local/php/lib/php') in /home/lunamoth/public_html/rewrite.php on line 41

Changed 19 months ago by inureyes

[4864]

  • 일반 환경에서 GET 명령으로 호출하는 설정 변경 부분의 경우 접근 제한을 위한 인자를 처리하는 부분의 호환성을 보장하#> 도록 rewrite 처리 모듈 수정
  • fastCGI 또는 server-overrided rewrite에 의하여 QUERY_STRING, REQUEST_URI값이 영향을 받는 경우가 있으므로 그 경우를 포괄하기 위하여 주소 파라미터를 의미하는 $accessPathinput? 값을 더 일반적인 환경변수를 통하여 파싱하도록 변경

Changed 19 months ago by inureyes

[4864] 에서 위의 두 가지 문제가 해결되었을겁니다. :)

Changed 19 months ago by inureyes

[4869]

  • fastCGI 이외의 환경에서 인자가 붙어서 value로 처리되는 문제 수정
  • [4864] 의 연장선에 있음.

Changed 19 months ago by inureyes

[4870]

  • rewrite 처리 모듈 루틴 수정
  • 크리티컬 업데이트였으므로 버전 번호 수정

Changed 19 months ago by inureyes

[4872]

  • GET 변수로 넘어오는 값 중에 /가 있는 경우를 제대로 처리하지 못하는 문제 수정.
  • 예를 들면 returnURL값으로 인코딩되지 않은 /이 섞여 넘어온다거나?

Changed 19 months ago by inureyes

rewrite module이 없는 서비스에서 동작하기 위한 현재의 workaround를 현재의 rewrite 처리 모듈 위에서 다 재작성할 수 있을듯 합니다. 관련 부분은 베타 페이즈에서 처리합니다.

Changed 19 months ago by inureyes

[4874]

Changed 19 months ago by mcfuture

공지로 작성된 글이 처음 작성한 글로만 연결되어 보여집니다..

Changed 19 months ago by inureyes

[4876]

  • notice의 경우 글번호를 사용하므로 id를 처리하도록 수정.

Changed 19 months ago by inureyes

[4883]

  • single 사용자의 경우의 rewrite 처리 추가.

Changed 19 months ago by inureyes

[4886]

  • include할 파일이 없는 경우에도 오류메세지 출력하지 않음

[4887]

  • 디버그 모듈이 동작하도록 수정함
    • config.php에 requireComponent 방식이 아니라 $service-enableDebugMode = true로 변경되었습니다.
  • rewrite 핸들링 모듈의 디버그를 위해 환경변수를 파싱하도록 하는 옵션 추가
  • 관련 문서 업데이트

Changed 19 months ago by inureyes

[4888]

  • rewrite 핸들링 모듈의 디버그 모듈을 디버그 -_-

Changed 19 months ago by inureyes

[4889]

Changed 19 months ago by inureyes

[4890]

  • [4889] 수정
  • attach와 같은 레벨의 정적 주소로 파싱합니다.

Changed 19 months ago by coolengineer

  • [4891]
  • 디버그 모듈에서 ROOT 관련 재정의오류를 임시로 끔

Changed 19 months ago by daybreaker

  • [4900]
  • ACL에서 /owner/entry/finish가 빠져서 관리 권한이 없는 팀블로그 멤버가 글쓰기 완료를 못하는 문제 수정

Changed 18 months ago by inureyes

[4914]

Changed 18 months ago by inureyes

[4915]

  • 디버그 코드 제거

Changed 18 months ago by inureyes

  • status changed from assigned to closed
  • resolution set to fixed

rewrite engine 없이 돌아가게 하는 부분은 별도의 티켓으로 이후에 관리하겠습니다.

Changed 18 months ago by inureyes

[4977]

Changed 18 months ago by inureyes

  • status changed from closed to reopened
  • resolution fixed deleted

[4981]

Changed 18 months ago by inureyes

  • status changed from reopened to closed
  • resolution set to fixed

Changed 18 months ago by inureyes

  • status changed from closed to reopened
  • resolution fixed deleted

Changed 18 months ago by inureyes

[4983]

  • htaccess에서 좀 세심하게 /을 붙이도록 교정.

Changed 18 months ago by inureyes

[4987]

  • 커버 예제 플러그인의 누락된 환경변수 추가

Changed 18 months ago by graphittie

[4989]

Changed 18 months ago by inureyes

[4990]

  • [4989] 보완
  • 네 root 참조 안해도 별 무리는 없겠습니다.
    • 실행되는 곳 기준인데 rewrite.php 의 위치가 루트이니...

Changed 18 months ago by graphittie

BUG REPORT

/home/skin/graphittie_winter/images/logo.png/ 처럼 이미지명 뒤에 슬래시가 붙어 이미지가 출력되지 않습니다.

Changed 18 months ago by inureyes

[4991]

  • 에라 컨디션 필요 없이 전부 넘겨라~
  • 로드를 줄이기 위해서 실제 존재하는 디렉토리의 경우엔 맵핑 등등등...도 그냥 다 넘겨버려라~

Changed 18 months ago by inureyes

[4992]

  • 자동 업데이트를 위한 버전번호 변경

Changed 18 months ago by inureyes

[4993]

  • 요청 파일이 없는 경우 404를 보내줍니다.

Changed 18 months ago by inureyes

[4994]

  • Rewrite engine이 없어도 돌아갑니다.
  • 기존에 구현했던 rewrite engine이 없을 경우의 workaround는 모두 걷어냄.
  • rewrite.php가 url 처리를 맡아서 전부 처리 합니다.
    • mod_rewrite 가 없는 경우에는 그 상황을 index.php에서 define해 줍니다.
  • 특정 웹 호스팅에서 자동으로 주소 끝에 index.php를 붙이는 경우가 있습니다. 이런 경우에는 index.php를 삭제하거나 이> 름을 바꾸어야 합니다. 배포시 index.php의 이름은 사용 편의상 그대로 유지하도록 하겠습니다.
  • 아 완전 개삽질이었음....
    • 별의별 예외상황이 발생하는군요 -_-

Changed 18 months ago by inureyes

[4995]

  • header를 맞게 보내주도록 수정. (FF는 strict해요)
  • 스킨 쪼개는 부분에서 기본 스킨이 빈칸이 있어서 빈 칸 왕창 들어가는 부분을 수정
  • interface 를 불러오는 부분의 간소화.
  • favicon 및 블로그 아이콘이 동작하도록 수정

Changed 18 months ago by inureyes

[4996]

  • .htaccess를 더 기본적인 코드로 변경

Changed 18 months ago by inureyes

[5007]

  • 설치가 모든 경우에 가능하도록 수정
    • .htaccess가 있는데 config.php가 없는 경우
    • .htaccess도 없고 config.php도 없는 경우
    • .htaccess와 config.php가 모두 있는 경우 - 설치 거부

Changed 18 months ago by inureyes

[4997]

  • 주소에 /이 붙지 않은 경우에 호스팅의 설정에 따라 리다이렉트 주소가 다를 수 있는 부분에 대한 workaround 반영
  • Test server supported by 너른호수

Changed 18 months ago by inureyes

[5010]

  • 글쓰기가 안되는 문제 수정.

Changed 18 months ago by inureyes

  • status changed from reopened to closed
  • resolution set to fixed

Changed 18 months ago by inureyes

  • status changed from closed to reopened
  • resolution fixed deleted

싱글/non-rewrite 모드에서 requestURI등을 파싱할 때 물음표가 encode되어 붙는 문제점이 있다.

Changed 18 months ago by inureyes

Changed 18 months ago by inureyes

[5082]

  • non-rewrite mode에서 ?를 파싱할 때 인코딩하는 문제점 수정
  • meta-semantic fancy URL support without rewrite engine

port!)

Changed 18 months ago by inureyes

[5111]

Changed 18 months ago by inureyes

[5112]

Changed 18 months ago by inureyes

  • status changed from reopened to closed
  • resolution set to fixed

Changed 18 months ago by inureyes

  • status changed from closed to reopened
  • resolution fixed deleted

[5130]

Changed 18 months ago by inureyes

  • status changed from reopened to closed
  • resolution set to fixed

Changed 9 months ago by inureyes

[6831]

refs #718

  • [6830] 의 디버그 코드 제거
Note: See TracTickets for help on using tickets.