포럼
처음부터 등록 안되는 모듈명이란 게 있나요
2015.08.10 03:13
메뉴 중에 widgetstyles 라는 게시판을 추가하려고 했더니
'이미 존재하는 모듈명입니다' 라고 뜨길래,
DB에서 검색해봤더니 안 뜨는 겁니다.
구글링 등을 하다 포기하고 widgetstyle 라고 등록한 뒤에
혹시나 해서 widgetstyles 로 변경해봤더니 되네요. -_-;
애초부터 없는 걸 있다고 한 이유가 뭘까요 ㅎ
제 사이트만 그런게 아니라 다른 사이트도 동일한 증상이더군요.;;
버전은 최신 버전입니다. ㅎ
#수정
접속하려 해봤더니 접속이 안되길래-_-;
.htaccess를 봤더니,
RewriteRule ^(.+)/(files|modules|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) ./$2/$3 [L]
이런 문구가 있네요.
files, modules, widgets, widgetstyles, layouts, m.layouts, addons 등은 모듈명으로 등록이 안되거나
등록이 된다고 해도 접속이 안되게 해놨군요 ㅎ
왜 그런가요
- [2019/07/01] 묻고답하기 브라우저 제목이 안바껴요..ㅜㅜ *2
- [2017/08/04] 묻고답하기 메모장으로 php 파일 수정 후 모바일에서 메뉴 깨짐 현상 *1
- [2015/07/06] 포럼 프로필 모듈이 있나요? *2
- [2015/06/06] 포럼 레이아웃 타입 자동 적용 기능 *7
- [2012/04/26] 묻고답하기 게시글 수정하면 새글로 다시 작성되는 오류.
댓글 3
-
BJ람보
2015.08.10 05:07
-
YJSoft
2015.08.10 10:52
짧은주소 사용시에는 주소가 https://www.xpressengine.com/forum 와 같이 생성되는데, 이때 파일 링크 등이 ./files/attach/~ 처럼 생성되면 브라우저는 https://www.xpressengine.com/files/attach/~ 가 아니라 https://www.xpressengine.com/forum/files/attach/~ 에서 파일을 찾습니다(브라우저 입장에서는 forum이란 폴더안 파일을 탐색중인 것으로 인식).
따라서 예외로 files 폴더 등을 따로 처리해주지 않으면 메인 페이지에서는 잘 되는 다운로드가 게시판에서 안되는 현상이 생길수 있겠죠.
-
이온디
2015.08.10 14:50
자세한 설명 감사합니다. ^^
ps. 이미 존재하는 모듈명입니다라고 XE가 잘못 알려주지만 않았어도 좀 덜 헤맸을 것 같네요.ㅋ
css이나 파일들을 불러올때 해당 풀더이름을 써야 하기 때문입니다.
만약, 도메인.com/modules/ 으로 접속하게 되면, 보통 apache단위에서 막혀잇으면 해당 부분은 접속이 불가능하다는 403에러같은게 뜨거나, 아니면 그 속에 설치된 모듈의 풀더목록이 뜨는 경우가 있습니다.(대부분의 웹호스팅에서는이부분을 막아두죠)
그런데, 이 부분을 왜 mid로 사용못하게 해놧냐면..
보통 css파일들을 로드 할때 <load target="./~~/~.css" /> 형태로 로드하게 되지만 사이트 브라우저 단위에서는
http://도메인.com/layouts/~~/~.css 의 파일으로 주소를 바꿔서 로드하게 되죠.
이 부분에서 만약 layouts 풀더 안에 파일으로 인식시켜야 하는데 이 부분을 지워 다르게 모듈으로써 인식시켜버리면,
404에러뜨겟죠.. 즉, css파일이나 등등 html파일들을 불러오기 위한 중요한 파일으로도 작용될 수 있는 요소 이기 때문입니다.
그리고 이게 일부 아파치의 설정일지 대중적인 아파치의 설정인지 정확하게는 모르겠지만,
만약, swhite 이라는 풀더를 생성했을때,
도메인.com/swhite 으로 접속햇을때 무조건 풀더를 우선시합니다. 제가 서버에
제가 서버설정에 대해서 정확하게 지식이 아직 많이 부족하지만, 아마 위의 코드의 영향이 되지 않을까 생각되기도 한답니다.
그리고 실제 해당 풀더 네임이 있을경우 모듈 생성을 리턴하도록 XE코어에서 설정되어있네요.
해당코드에서 두번째줄을 확인해보시면, XE코어를 설치한 루트쪽에 어떠한 풀더 네임이 존재할경우 그 풀더네임과 같으면 true 값으로 반환시켜서 아에 모듈등록을 하지 못하도록 막고 있습니다.