base_url 설정

subfolder 구조 없이 drupal을 설치한 후,
URL만 http://www.exaple.com/test 와 같이 test를 붙이길 원해서,

setting.php에서
$base_url = "$base_url/test";로 설정을 해둬 context-root가 /test로 생성된듯 보였으나, img src="/sites/img/aa.jpg"/ 등과 같이, 상대 경로로 적어준 것에 대해서는 /test/sites/img/aa.jpg로 모두 /test를 붙여야 하네요.

1.
$base_url을 수정하는 것이 모든 root를 변경해주는 것이 아닌가요?
무엇을 더 작업해야 하나요?

2.
img_assist를 이용해서 image 파일을 보여준다던가, file upload 모듈을 통해 각 페이지별 파일을 관리할 경우에 링크에 test가 두번 붙어, 링크가 깨지는데, 이런건 어떻게 해결해야하나요?

3.
page 수정 후 저장 등의 button 이벤트(hover시 나타나는 url 기준)가 기존에는 /node/130/edit 이었는데, $base_url을 변경하고 난 후에는, //node/130/edit으로 변경되어 이벤트가 제대로 수행되지 않습니다. 추가 변경해야할 부분이 무엇인가요?

2. 우선 이 문제는

2.
우선 이 문제는 해결했습니다.
setting.php에서
$base_url = "$base_url/test"; 로 설정을 한 부분이 잘못 되었던것 같습니다.
위와같이 설정할 경우, $base_url이 /test로만 들어가서 conf_init()에서 제대로된 값을 가져오지 못해서 생기는 문제였습니다.

1. 3.은 왠지 같은 문제로 보이는데,
bootstraps.inc/conf_init()를 확인하면 $parts['path']가 test로 제대로 인식되어 base_path가 정상적으로 잡히는 것으로 보이는데, 왜 root가 비어있거나, /로만 설정되어 있는지가 궁금하네요.

plane11님. 좋은 답변과 정보 공유,

plane11님.
좋은 답변과 정보 공유, 감사합니다!

질문을 명료하게 잘 써 주셨는데, 답변거리가 변변찮아

질문을 명료하게 잘 써 주셨는데, 답변거리가 변변찮아 염려가 되네요.

오래 전에 드루팔 이관 때에 이 일로 고생을 한 적이 있었습니다.

명답인지는 모르겠고, 다만 힌트가 될 만한 내용을 기재해 봅니다.

ㄱ. $base_url을 수정하는 대신에, mod_rewrite의 힘을 빌리는 것은 어떨까요?
리눅스 호스팅이라면 아래와 같은 .htaccess 설정으로 간단히 주소변이가 됩니다.

참고글도 있으니 보시면 좋겠습니다.
http://palpal.org/node/397#comment-829

ㄴ. 이미지 뿐만 아니라 업로드한 파일들도 말씀하신대로 패스 문제를 겪게 되는데요.
혹시 각 관리자 화면의 directory 설정도 이미 손보셨다면, 최후의 방법으로...
디비를 직접 손보는 것이 어떨까요?

물론 기존 디비를 백업하고, drupal의 files 테이블의 file_path 필드를 보시면,
고생하게 만드는 상대패스들이 직접 덧붙여진 모습을 확인할 수 있습니다.
이걸 한 방에 치환하는 것은 어떻습니까? 좀 위험하기는 하지만 확실할지도...

참고로 관련 SQL도 알려드립니다.
http://palpal.org/node/261#comment-219
에 있습니다.