질문/조언질답게시판

게시물 작성시 업로드한 이미지 경로는

/files/attach/images/ 이런식으로 상대 경로여야 하잖아요?

그런데 호스팅 서버를 바꾸고

사이트 및 DB이전을 했는데요.

  

게시물 본문 수정 화면에서

소스보기를 하면, 첨부 이미지들 경로가 전부

img src = 'http://www.이전도메인.com/files/attach/images/2913849 이런식으로

전부 절대경로로 되어있습니다.

 

예전에 XE로 운영했는데요.

 

게시물 작성시 업로드 이미지 경로는 상대 경로가 기본아닌가요?

어째서 전부 절대 경로로 되어있는건지 이해가 안갑니다. ㅠㅠ

 

사이트 도메인을 바꾸려는데,

이 문제 때문에 멘붕이 왔습니다.

 

DB에 입력되어 있는 본문 소스 코드를 보면

이미지들 경로가 전부 이전 도메인 절대 경로로 되어있어서

새 도메으로 깔끔하게 바꿀수가 없습니다. 

 

이를 어찌하면 좋을까요?

 

어떻게 DB에 이미지 경로들이 전부다 절대경로로 되어있는지

이런일이 어떻게 생길수가 있는지 이해를 못하겠습니다.

 

어디서 부터 잘못되서 이렇게 된 건지 잘 모르곘습니다.

 

게시글 이미지들 경로를 전부 상대 경로로 어느세월에 바꿔야 할지

눈앞이 캄캄하네요.

도와주세요. ㅠㅠ

 

 

  • profile

    XE 시절에는 절대경로를 아무 데나 막 넣어놨지요. 도메인 절대 안 바꿀 줄 알고...

    DB에 입력되어 있는 예전 경로들을 한방에 변환하는 쿼리가 있으니 좌절하지 마세요.

    쿼리문 기억나시는 분이 댓글 달아주실 겁니다.^^

  • profile profile
    네. ㅠㅠ 기진곰님 말씀에 힘이나네요.
    넘 감사해요.
  • profile profile

    찾았습니다. https://xetown.com/tips/2821

    이전 주소와 새로운 주소를 아주 정확하게 넣어야 한방에 작동하니, 실행하기 전에 꼭 확인하세요. 예를 들어 이전 주소를 앞뒤 특수문자 없이 old.com 형태로 넣는다면 새 주소도 new.co.kr 형태로 넣어야 합니다. http://new.co.kr이나 new.co.kr/ 이러면 큰일납니다.

    DB에서 쿼리를 실행한 후에는 관리자 화면에서 캐시파일 재생성 한 번 해주시고요.

  • profile profile
    말씀 감사합니다!! 한가지는 확실해졌네요.
    개발자님께 의뢰해서 해결하는걸로요 ^^
    저는 DB건드리는 건 무서워서 못하겠어요.
    제가 했다가 날라가면 멘탈이 안드로메다로~~~~~~~~
    ^^;
  • profile profile
    헌데 라이믹스에서 캐시 재생성 관련 이야기들을 자주 보는데요.
    저는 무서워서 건드리지 않거든요.
    관리자 페이지에서 캐시 재생성 관련 버튼들은 어떤 경우 눌르는건지
    너무 궁금하네요. 저는 초보라서 모르면 아에 건드리지 않는다 주의 입니다.
  • profile profile
    뭔가 수정했는데 반영이 되지 않을 때, 문제 해결에 도움이 될 수 있는 기능입니다.
    누른다고 문제가 생기지는 않습니다. 그러나 특별한 문제가 없다면 평소에 사용할 필요는 없습니다.
  • profile profile
    위험한 버튼은 아니군요. 다행입니다.
    감사해요!!
  • profile profile

    캐시라는게.. 디비에 저장된 데이터를 따로 저장하여 디비를 쿼리하지 않고 데이터를 가져올 수 있도록 만든 데이터를 캐시 라고 불러요. 그 데이터를 불러오면 실제로는 디비에서 가져와야할 대부분의 정보를 파일 혹은 쿼리보다 더 빠른 시스템에 저장하여 불러오고 싶을때 불러올 수 있는 형태가 되죠.

     

    쿼리보다 캐시데이터가 빠른이유는 쿼리의 경우 테이블에 저장된 각각의 데이터를 테이블 마다 찾아 들어가서 특정 칼럼에 있는 값이 어떤것인지 확인한다음 이 값에 해당되는 데이터를 모두 찾아 가져오기 때문에 절차및 실행되는데 소요시간이 들어갑니다.

     

    그에반면 캐시는 이미 만들어둔 데이터를 어느 구석 한쪽에 저장해뒀다가 실행할때 저 구석에 짱박아둔 캐시파일 있는지 검시하고 있으면 캐시파일을 가져오니 위의 복잡한 테이블 검사할 필요가 없어지죠. 만약 없으면 위의 복잡한 캐시 데이터를 가져온다음 구석에 다시 저장하게되고요.


    비효율적인 쿼리로 인해서 디비에서 쿼리하면 1초동안 로딩할 것을 0.01초만에 불러올 수 잇다는 뜻이됩니다.

    그런 데이터가 실제로 디비를 직접 조작혹은 디비에 변경되었지만 따로 불러오는 캐시로 저장되어 있지 않는 경우 캐시파일로 인해 잘못 동작하는 버그가 가끔 발생되기도 합니다. 그래서 아래에 캐시파일 재생성이라는 버튼이 존재합니다.

     

    이 버튼을 누르게되면 기존에 저장된 모든 데이터캐시를 삭제 하고 정보를 다시 디비에 가져오는 방식으로 시작하게 됩니다.

     

    그렇게 되면 첫 로딩되는 모든 데이터는 항상 디비에서 가져오게 되겠지요. (캐시를 사용하게되면 대부분은 쿼리한뒤 캐시에 저장합니다.)

    만약 이를 자주 누르게된다면? 대형사이트에서는 난리가 나겠지요. 왜냐하면 모든 데이터를 저장해둔것을 다시 날리고 실제로 다시 쿼리하게 되므로 사이트가 로딩하면서 발생되는 CPU점유율이라던지 이런것들이 증가 하게되는 것입니다.

    따라서 왼만하면 누르지 않는것이 좋으며 불가피한 버그 있을 경우에만 누르는게 좋습니다.

    해당 버튼 남발해서 좋을 것 없거든요.

    당연히 개발하는 사람들이라던가 수시로 설정이 바뀌는걸 확인해봐야할 사람들에게는 매번 누를 수 있겠지만은 굳이 건드릴 필요가 없습니다 :)

    마구마구 누르지는 마세요 :)