퍼머링크를 한글도 가능한 Cool URI 로 만들어주는 플러그인
Current Version: 3.2.02
무버블 타입 3.2 부터는 각 아카이브의 URL을 소위 Cool URI(무버블 타입 내부적으로는 Smart URL이라고 부름)로 쉽게 나타낼 수 있도록 업그레이드 되었습니다. 하지만, 이는 비영어권 사용자에게는 그림의 떡에 불과합니다. 예를 들어, 엔트리 제목을 영어로 "this is a test MT entry"라고 쓰면, 해당 엔트리의 주소로 http://www.example.com/2005/10/this_is_a_test_mt_entry/ 로 만들어 줍니다. 달리 말하면, 서버 내에 위와 같은 폴더 구조로 파일을 생성해 줍니다. 그런데 한글만으로 다음과 같이 제목을 달면(우리에겐 일반적이겠죠) "이것은 엠티 예제 글입니다", http://www.example.com/2005/10/post_1.html 과 같은 식으로 무의미한 파일명/URL로 나타나게 됩니다.
3.2에서는 이 Cool URI 기능이 매우 강화되어서, 해당 엔트리의 주 카테고리명이나, 서브카테고리 전체 구조를 딴 Cool URI도 지원됩니다. 예를 들어, "movie -> korean movie -> comedy" 라는 서브 카테고리에 할당된 엔트리는 http://www.example.com/movie/korean_movie/comedy/ 꼴의 주소를 가질 수 있습니다. 그런데 이때도 한글 명으로 "영화 -> 한국 영화 -> 코미디" 이렇게 하면, 주소는 http://www.example.com/cat_1/cat_2/cat_3/ 식으로 의미없게 구색만 갖추어 나타납니다.
이 플러그인은 한글 제목, 한글 카테고리 명에 대해서도 Cool URI를 잘 나타내게 하고, 또 UTF-8 한글과 EUC-KR 한글로 된 블로그에서 URL을 각각의 인코딩으로 보낼 때, 해당 자원을 찾지 못하는 문제도 해결하고 있습니다.
왜? http://www.w3.org/Provider/Style/URI.html 을 보시면 Cool URI에 대해 설명이 나옵니다.
Permanant한 퍼머링크, 진실과 오해 는 좀 길지만, 왜 퍼머넌트한 퍼머링크에 대한 고려도 해줘야하는지에 대한 글입니다.
Requirement
- Movable Type 3.2 이상
- 다른 인코딩으로 된 한글 주소 URL을 변환해주고, 이를 바른 자원으로 redirect시켜주기 위한 방법으로, Apache 웹서버의 경우 자신의 웹루트 아래에 .htacces 파일로 개별 설정을 해줄수 있는 권한
- 정적 publishing을 사용한다면, 한글 인코딩 변환을 위해 Perl의 Encode 모듈, 동적 publishing을 사용한다면 PHP의 mbstring 라이브러리
Installation & Configuration
압축파일을 다운받아, (mt home) 밑에서 $ tar xvfz koreanCoolPermalink-3.2.02.tar.gz 해서 풀면 아래와 같은 폴더 구조 밑에 파일들이 생깁니다. telnet 등의 터미널을 사용할 수 없는 경우엔, 아래 폴더 밑에 각각의 파일들을 ftp로 업로드하면 됩니다.
- (mt home)php/plugins/init.alogblog-koreanCoolPermalink.php
- (mt home)php/plugins/alogblogKorean.php
- (mt home)plugins/BigPAPI.pl
- (mt home)plugins/alogblog/koreanCoolPermalink.pl
- (mt home)plugins/alogblog/lib/alogblogKorean.pm
- (mt home)dot_htaccess (정적 파일생성시)
- (mt home)url-error.cgi (정적 파일생성시)
- (mt home)default_templates/dynamic_site_bootstrapper.tmpl (동적 파일생성시)
1. 정적 파일생성(static publishing)을 사용하는 경우
먼저 url-error.cgi 를 블로그 루트 경로(Site Root)밑으로 옮깁니다. 예를 들면 /blog/url-error.cgi 처럼 블로그 루트 경로(이 경우 /blog) 아래로 이동하면 됩니다. 그런 후, 이 파일을 열고 설정 부분의 설명에 맞춰 몇가지 사항을 설정합니다.(자세한 설명은 url-error.cgi 내에 있습니다.)
다음, dot_htaccess 파일을 블로그 루트 경로(Site Root) 바로 밑에 .htaccess 라는 이름으로 복사합니다. 이 파일을 열면 ErrorDocument 404 /blog/url-error.cgi 한 줄이 나타납니다. 이 말은 찾는 문서가 없어서 404 에러가 발생하면 상대경로 URL /blog/url-error.cgi 에 있는 CGI를 실행시키라는 의미입니다. 조금 전 이동한 url-error.cgi의 상대경로를 적어주면 됩니다.
2. 동적 파일생성(dynamic publishing)을 사용하는 경우
* 정적 파일생성을 사용한다면, 이 부분은 건너 뛰십시요.
동적 파일생성을 이용하고 있다면, 다른 인코딩을 가진 한글주소 URL에 대해 정적인 경우와 다르게 대처합니다. 이미 설치단계에서 dynamic_site_bootstrapper.tmpl을 디폴트 파일에 덮어서 새로 갱신했기때문에, 바로 MT의 템플릿 메뉴에서 Refresh만 시켜주면 됩니다.
MT메뉴에서 Templates -> Indexes Templates로 가서, Dynamic Site Bootstrapper 템플릿을 체크박스에 선택한 후, 오른쪽 위에 있는 액션 메뉴를 열어서, Refresh Template(s)를 실행합니다. 그러면 갱신한 dynamic_site_bootstrapper.tmpl의 내용대로 Dynamic Site Bootstrapper 템플릿이 업데이트 됩니다.
동적 생성을 사용하면 블로그 루트경로(Site Root) 밑에 자동으로 .htaccess파일이 생깁니다. 그러므로 이 플러그인에서 제공한 dot_htaccess는 필요가 없습니다. 이미 .htaccess파일이 루트 경로에 정말 존재하는지 확인해봅니다. ( $ ls -al )
3. Basename Length 설정
엠티 메뉴의 설정(Weblog Configuration)에서 New Entry Default 탭메뉴에 보면 Basename Length 란이 있는데, 이곳에 85 정도의 값을 넣어줍니다.
엠티 내부적으로 이 Basename 길이를 위해 255바이트가 할당됩니다. 그런데 한글을 사용할 경우에 EUC-KR은 2바이트, UTF-8은 3바이트 정도 차지합니다. 그래서 이 값을 최대한 여유있게 한글 85자 정도로 정해줍니다. 이 정도 길이면 충분하다 봅니다.
Usages
Main Menu의 Publishing Settings에 보면, Archive Mapping 부분이 있습니다. 잘 아시다시피 이곳은 생성할 아카이브 파일들의 폴더구조,파일명 등을 설정하는 곳입니다. 이 플러그인이 관여하는 아카이브 형태는 Individual과 Category 아카이브입니다.
- yyyy/mm/entry_basename* 과 같은 형태로 Publishing하고자 하면 그냥 메뉴상태에 원하는 형태를 선택하면 됩니다.
- category/sub_category/entry_basename* 과 같은 형태는 MT의 디폴터 메뉴에서 선택하면 안되고, 플러그인에서 제공하는 태그를 이용해서 맵핑을 시켜줘야 합니다.
<MTArchiveKoreanCategory dirify="1" default="">/%b/%i 과 같은 형태로 입력하면 됩니다. 원래 MTArchiveCategory태그가 category/sub_category 형태로 만들어 주는 태그입니다. 한글 카테고리도 문제없이 만들려면, MTArchiveKoreanCategory라는 태그를 이용해야 합니다.
이때 속성 dirify="1" 은 공백을 언더바(_)로 바꿔줍니다. 즉, "한국 영화"라는 카테고리는 "한국_영화"로 됩니다. 만약 dirify="-" 로 해주면, "한국-영화"로 됩니다.
default=""는 아무런 카테고리도 지정되지 않은 엔트리는 어떻게 처리할 것인가를 나타냅니다. 만약 default="no_category" 라고 설정하면, 카테고리가 없는 엔트리는 http://www.example.com/blog/no_category/entry_basename.html 과 같이 될 것입니다. - primary_category/base_name* 과 같은 형태는 마찬가지로 <MTSubCategoryKoreanPath separator="-">와 같은 전용 태그로 직접 Custom... 메뉴를 선택해서 입력해야 합니다. 여기서 separator="-"은 위의 dirify와 같은 역할입니다.
- * %b는 <MTEntryBasename>의 약칭입니다. %i는 인덱스 파일명을 의미합니다. 따라서 %b/%i 라는 형태는 "http://.../재밌는_영화/index.html"과 같은 형태로 publishing해줍니다. 그런데 실제 표시되는 Permalink는 index.html을 제거하고 그냥 "http://.../재밌는_영화/"와 같이 표시됩니다. 이것은 실제 자원이 순수한 정적인 HTML파일인지 혹은 PHP,CGI등의 동적인 페이지인지를 가려주는 추상화 효과를 줍니다. 따라서 나중에 정적에서 동적, 동적에서 정적인 페이지로 생성 방법을 변경하더라도 주소는 여전히 같게 되는 것입니다.(정식 템플릿 태그와 약칭 %b, %i, %C 등은 함께 사용 가능합니다)
Testing Steps
처음 무버블 타입을 설치해 사용하는 경우가 아니라면, 이미 기존의 다른 파일생성(publishing) 방법에 따른 룰에 의해 퍼머링크를 만들고 있을 것입니다. 이런 경우에, 아직 전체적으로 돌아가는 그림이 머리에 없는 상태에서, 기존 엔트리의 주소까지 바꿔가면서 설치해보기가 주저될 수 있습니다. 아래는 하나도 어렵거나 복잡하지도 않지만 단지 처음이라 조금 낯설게 느껴질 수 있는, 완벽한(^^;;;) 한글 Cool URI 구현에 대해, 가볍게 한번 테스트 삼아 별도의 MT 인스턴스를 설치한 후에 그 블로그 상에서 한글 Cool URI를 경험해 볼 수 있도록 하는 가이드라인입니다.
- 먼저 MT 3.2 압축파일을 구해서, 서버의 별도 폴더밑에 풉니다. 예를 들어, /path/to/www/test 라는 테스트 폴더에 3.2 를 푼 후, 그 폴더명을 mt로 바꿔줍니다. 결국 URL상으로 보면, http://www.example.com/test/mt/mt.cgi 가 mt.cgi의 URL이 되는 식입니다.
- cd mt; mkdir db; chmod 777 db 해서 mt/ 밑에 db 폴더를 만들고, mt-config.cgi 로 열어서, 적절히 CGIPath 값과 DataSource 값을 설정해 줍니다.(테스트용으로 DB는 반드시 파일디비를 씁니다)
브라우져에서 mt.cgi 주소를 입력해서 MT 설치를 끝내고 메인메뉴로 로그인해 First Blog에 대한 간단한 설정으로 블로그를 하나 만들어 줍니다. 여기까지는 일반적인 MT 설치단계입니다. 그럼 생성한 블로그의 주소가 http://www.example.com/test/blog/ 정도로 되게 합니다. - 이제 koreanCoolPermalink 플러그인을 받아서, test/mt/ 폴더 밑에서 각각 $ tar xvfz 압축파일.tar.gz 형식의 명령을 통해 자동으로 풀어줍니다.
(* 원래는 이 단계에서 dot_htaccess 파일과 url-error.cgi 파일에 대한 설정을 해야 하지만, 이 파일들의 기능은 외부에서 다른 인코딩으로 된 한글주소로 접근하는 경우에 대한 해결책이므로, 당장에 한글 Cool URI 로 파일을 생성하고 확인하는 단계에선 필요치 않습니다.) - 먼저 카테고리 메뉴로 들어가서 적절히 한글로 된 카테고리를 생성해 봅니다. 서브 카테고리도 다양하게 만들어 봅니다. 예를 들어, 영화 -> 한국 영화 -> 코미디 정도의 계층구조를 갖는 카테고리를 생성한 후, 이제 New Entry 메뉴에서 새 엔트리를 하나 만듭니다. 당연히 제목은 한글로 적습니다. 그리고 카테고리도 적용합니다.
- MT에선 기본적으로 Individual, Monthly, Category 아카이브 3종류를 생성할 겁니다. Individual의 경우에는 기본으로 yyyy/mm/entry_basename.html 로 되어 있는데(?) 이를 yyyy/mm/entry_basename/index.html 로 선택합니다. 그리고 리블드 올을 해준 후, 블로그 메인 페이지를 띄워서, 해당 엔트리의 개별아카이브의 퍼머링크랑, 카테고리 아카이브의 주소 형태가 잘 나타나는지 확인합니다. 잘 적용이 되어 나타난다면, 이제 .htaccess와 url-error.cgi의 역할에 대해 한번 테스트해봅니다.
- 기본적으로 MT는 UTF-8 인코딩으로 파일생성을 합니다. 따라서 예를들어, "http://www.example.com/test/blog/2005/10/첫_엔트리_테스트입니다/" 와 같은 주소는 서버상에서 UTF-8로 된 한글코드로 된 "첫_엔트리_테스트입니다/" 라는 폴더명으로 생성이 되는 것입니다.
그런데 만약 브라우져상의 주소입력난에 위 주소를 복사해서 접근한다고 할 때(엔트리 페이지상의 링크를 클릭해 접근하는 것이 아니라), 익스플러어(IE)의 경우에, 도구-인터넷 옵션-고급-"URL을 항상 UT-8로 보냄" 옵션을 끄고 사용하면, 주소창에 입력된 위 한글주소는 UTF-8 한글이 아닌, EUC-KR(code 949 ?)한글로 서버에 전달이 되게 됩니다. 이와 비슷한 또다른 경우는, EUC-KR 인코딩을 사용하는 다른 블로거가 위 주소를 복사해 자신의 엔트리에 삽입한 경우, 그 링크를 타고 들어온 한글주소도 EUC-KR로 된 주소가 됩니다. 위 두 경우에 모두 웹서버는 없는 자원에 대한 링크로 판단하고 404(Not Found) 에러를 내게 됩니다.
위 현상을 재현해보려면, IE에서 위 옵션을 끄고 재시작한 후에, 한글 퍼머링크를 복사해서 주소창에 바로 복사해서 연결해보면, 해당 페이지를 못찾는걸 볼 수 있습니다. - 그럼 이제, Installation & Configuration에 있는 dot_htaccess와 url-error.cgi를 /test/blog/ 폴더 밑으로 옮긴 후, 설명대로 몇가지 설정을 해 줍니다. 그런 후에 조금 전처럼, 브라우져의 주소창에 복사한 주소를 다시 입력해서 연결해보면, 처음과는 달리 해당 페이지를 찾는 걸 알수 있습니다.
- 이 url-error.cgi 에는 단순히 인코딩 변환에 의해 원 자원에 접근하게 해주는 기능 외에, 아예 존재하지 않는 주소일 경우에는, 한글 제목부분을 공백을 기준으로 나눠서 이를 검색어로 해서, 블로그 검색을 해서 그 검색 결과를 보여주는 친절한 기능이 포함되어 있습니다.
아예 존재하지 않는 페이지에 대한 주소의 경우, 검색페이지로 넘어가는 기능을 확인하려면, "http://www.example.com/test/blog/2005/10/첫_엔트리_테스트입니다/" 에서 "첫_" 이부분을 "처음_" 정도로 바꾼 후에 주소창에 입력해봅니다.(이 설명은 한 예일 뿐입니다. 테스트로 만든 엔트리의 주소에서 몇자를 바꿔서, 글자가 약간 바뀐 주소를 브라우져상에서 접근해보라는 뜻입니다.) 그럼 자동으로 검색페이지로 넘어가서 해당 제목에 포함되는 단어를 검색어로 해서 검색한 결과 페이지가 나오는 걸 볼 수 있습니다.
License
Relased under the Creative Commons License.
Version History
- 3.2.02: entry editing 화면의 Basename표시 JS dirify 함수 BigPAPI 이용해서 변경. entry_basename.html꼴 형식의 파일 템플릿 오류 수정
- 3.2.01: MT 3.2 용, PHP용 제공
- 1.0 : MT 3.17 용
Comments
한글 퍼머링크 적용 후 만들어지는 한글파일이 깨져버립니다. 웹상에서는 한글이 깨지지 않지만, FTP로 접속하여 아카이브 파일을 보면 깨진 상태로 나오는 것이지요. 그렇다면 파일 관리가 어려워지겠지요. 설치의 잘못은 없는 것 같은데, 어쩔 수 없는 사항인지, 설정의 잘못인지 궁금합니다.
아마 UTF-8로 퍼블리싱하시는거 같습니다. EUC로 퍼블리싱하시면 FTP에서 한글이 문제없이 나타날겁니다. 이말은 현재의 멍텅구리 저수준의 FTP가 UTF-8인코딩을 이해못하기때문일뿐입니다. 최근의 FTP프로토콜은 기본인코딩이 UTF-8입니다.그렇다면 똑똑한 최신의 FTP클라이언트를 이용하면 된다는 소리겠군요. 참고로 MS IE7 베타버전에서 FTP로 접속해보면 UTF-8한글 파일/폴더명이 잘 나타납니다. FileZilla최신 버전을 사용하세요.고급설정에서 "가능하면 서버에서 UTF-8사용하기"를 Force로 하시면 잘 보일겁니다. FTP가 기본으로 UTF-8을 지원하게 스펙이 업됐기때문에 시간이 갈수록 이런 별도의 설정없이 자동으로 처리해주게 될겁니다.
Posted by: tiiop
|
2006년 02월 17일 오후 03시 25분
죄송합니다. EUC로 퍼블리싱해야 한다는 것이 무슨 뜻인지 모르겠습니다. 알록볼록님도 UTF-8로 설정해놓으신 것 같은데, 감이 안잡히네요. 그리고 저는 알FTP Ver.4를 이용하는데, 파일을 내려받기도 안됩니다. 전송오류가 나는 것이죠. 한글이 깨져보이는 것과 연관이 있을 것 같습니다. 또한 카테고리 맵핑에서 [MTArchiveKoreanCategory dirify="_" default=""]/%b/%i을 사용하면 리빌딩이 안됩니다. 간단히 답변 부탁드리겠습니다.
"[MTArchiveKoreanCategory default=""]%b/%i" 로 해보세요.
EUC건은 걍 한 소리입니다. 알FTP등 대부분의 윈도 FTP프로그램이 이 EUC-KR만 인식하니깐, 아예 퍼블리싱을 이유시로하면 한글은 잘 나타난다는 당욘한 소리한겁니다. 다시말해 반대로 utf를 지원하는 최신 FTP클리아언트를 사용하면 잘 나타난다는 소립니다. 그 최신 프로그램이 바로 제가 소개한 앞 프로그램입니다. 알에프티보다 훨 낫습니다.
Posted by: tiiop
|
2006년 02월 17일 저녁 07시 18분
안녕하세요? 오래간만입니다. 알록님 한글관련 플러그인들 설치하고 이것저것 설정하다, 최근 코멘트 테스트겸 댓글을 달아보니 댓글 달고 저장하면 404에러가 나옵니다. 미리보기 할때는 괜찮구요. 그래서 이유를 찾아보니 웹브라우저가 IE에서는 괜찮구요. 파이어폭스(한글판 1.5.0.3)에서만 그래요. 이 플러그인을 끄면 파이어폭스에서도 괜찮습니다. 또한 파이어폭스에서도 한글링크는 잘 읽구요. 혹시 파이어폭스가 문제인좀 알 수 없을까요?
간단히 설명드리겠습니다.
코멘트를 달고 나면, 한글 UTF-8로 인코딩된 주소로 redirection합니다. 한글.html -> mt-comment.cgi -> 한글.html 로 다시 복귀하는 식입니다.
이때 기존 MT는 리다이렉션 방법으로 HTTP의 Location: 헤더를 이용합니다. 그런데 제가 알기로 아직(?) 이 Location헤더의 인코딩에 대한 규정이 없을겁니다. 우리는 UTF-8로 인코딩한 주소를 보내는데, 대부분의 브라우저는 이 주소를 그냥 ascii 인코딩으로 이해하고 다시 GET합니다.
그러면 없는 자원을 요구하니까 404 Not Found에러가 납니다.
그래서 제가 생각한건 HTML의 태그로 리다이렉션을 하는 것이었습니다. 이경우 정상적인 HTML페이지를 이용하는 것이라, 그 HTML 페이지에서 UTF-8인코딩을 명시하면, 그 페이지에 박혀있는 주소의 인코딩을 페이지 인코딩으로 해석하기 때문에 바르게 리다이렉션이 됩니다.
그런데 IE는 이걸 일반 페이지와 같이 잘 구현하는데 반해, Firefox, Opera는 정상적으로 해주지 않고 있습니다.(Mozilla는 또 제대로 해줍니다) 제가 볼땐 보통 HTML페이지와 마찬가지로 처리하는게 맞다고 봅니다. 엄밀히 말하면 IRI로의 redirection 구현이 아직 미비하다...라고 할 수 있습니다. 당연 기술적으로는 하나도 어려운게 아니죠.
제가 시간나는대로 firefox/opera 쪽에 버그리포팅을 해야겠습니다.
Posted by: pdaclub
|
2006년 05월 06일 밤 11시 42분
답변 감사해요.. 한글모질라포럼에 가보니 한글주소관련글들이 있는데 저하고 상관이 없는것 같아 아리송했는데 파이어폭스문제군요..
Posted by: pdaclub
|
2006년 05월 07일 오전 09시 35분
더운 날씨에 잘 지내시는지요? ^^
그동안 직장일 때문에 홈페이지를 돌볼 시간이 없었는데 오랜만에 업그레이드를 하게됐네요.
3.31을 utf-8로 설치하고 백업받았던 문서를 불러와서 플러그인 설치하고 개별엔트리를 한글로 생성하는 것 까지는 문제 없이 잘 진행됐습니다.
카테고리를 <MTArchiveKoreanCategory dirify="1" default="">/%b/%i 나 <MTArchiveKoreanCategory default="">%b/%i" 로 생성하려고하면 다음과 같이 에러가 나면서 진행이 되질 않네요.
Error in <MTFileTemplate> tag: Error in <MTEntryBasename> tag: You used an 'MTEntryBasename' tag outside of the context of an entry; perhaps you mistakenly placed it outside of an 'MTEntries' container?
혹시 3.3으로 업그레이드 되면서 변화가 생긴 것 때문에 그럴까요? 문제를 해결할 수 있으면 좋겠습니다.
즐겁고 건강한 여름 되시길 바라며 감사합니다~ ^^
어쨋거나 일단 위의 경우를 보니까 카테고리 아카이브에 %b가 사용될수는 없습니다. 즉 개별아카이브의 생성을 /영화/코미디/어제_투갑스를_봤다/ 처럼 할 수 있지만, 카테고리 아카이브는 이렇게 %b를 넣어서 엔트리 베이스명을 이용할 수 없죠. 아마 위는 이 문제같은데요?
Posted by: Anonymous | 2006년 08월 08일 밤 09시 24분
안녕하세요.
초보적인 질문일지도 모르겠습니다만,
(사실 전혀 모르고 무버블 타입을 쓰고 있습니다.)
쿨 URI 플러그인을 깔고 난 뒤 정상적으로 한글 URL이 만들어지고 있습니다.
문제는 이 URL이 올블로그나 오픈블로그 같은 곳으로 자동으로 보내질 때
한글은 모두 %가 붙는 코드 형식으로 나가 링크가 되지 않고 없는 페이지로
나옵니다. 어떤 문제일까요?
예를 들면
http://www.dailygamenews.com/archives/2006/10/hp_데스크젯_460cb_모바일_프린터.html#more
http://www.dailygamenews.com/archives/2006/10/hp_%EB%8D%B0%EC%8A%A4%ED%81%AC%EC%A0%AF_460cb_%EB%AA%A8%EB%B0%94%EC%9D%BC_%ED%94%84%EB%A6%B0%ED%84%B0.html
이런식입니다.
먼저 한글주소가 %HH 식으로 소위 URL encoded된 형식으로 여러 메타블러그에서 처리하는것은 아무 문제가 없습니다. 저 메타들이 한글주소를 %HH 횽식으로 나타내는것은 여러 이유가 있겟지만,,, 한글주소 자체에 큰 신경을 안쓰기 때문일 뿐입니다. 가령 구글은 한글주소 자체를 한글로 표현해줍니다.(제 블로그 글들의 검색결과는 구글에서 한글로 나타납니다) 그에 반해 야후 등은(현재는 잘 모르겠고 예전까지) %HH로 표시합니다.
한글 IRI 주소라는 것은 기본적으로 한글인코딩과 무관하게, 추상적인 개념의 한글 그 자체를 주소로 가지는 것입니다.
무관하다는 것은 사용자가 한글 주소, 가령 "한글.html"를 euc-kr로 인코딩하든 utf-8로 인코딩해서 나타내든 이론적/실제적으로 모두 "한글.html"로 인식해야 한다는 것입니다.
nacapzzang님 블로그를 보니까 블로그 자체를 euc-kr로 만드셨는데요... 그리 바람직하지 않습니다. --;;; 물론 한글 주소를 사용하는 자체엔 그게 문제를 일으키는 요소가 아니지만, 이런 저런 향후의 플러그인이나 혹은 여러 면에서
utf-8로 퍼블리싱하는게 편하실겁니다.
각설하구요.
제 플러그인에 보시면 url-error.cgi (정확한 이름은 기억이..) 등의 파일이 있습니다. 제 생각에 이게 제대로 설정이 안되있는것 같은데요?
위 %HH 표시는 보아하니 utf-8로 인코딩된 한글주소군요. 이럴 경우 님의 웹서버는 저 주소를 님의 실제 서버에 있는 euc-kr 한글로 만들어진 파일로 변환을 해줘야 합니다. 이걸 웹서버 자체에서 해줄수도 있구요.. 이게 안되는 보통의 유저들을 위해 제가 url-error.cgi를 제공한것입니다.
nacapzzang님이 저 cgi를 설정하셨는지 모르겠지만, 아마 안하셨나봅니다. 그렇다면 설명 페이지의 내용을 보고 한번 해보시구요.. 잘 모르거나 안되는건 또 코멘트 주십시요.
Posted by: phil
|
2006년 10월 12일 오후 03시 55분
자세한 설명 고맙습니다.
역시 맨땅에 헤딩은 힘드네요. ㅜ.ㅜ
그런데 url-error.cgi는 이전에 고쳐서 넣었습니다만,
이상하게도 작동을 하지 않습니다. 아니면 제가 틀리게 고쳤겠지요.
하여 알록볼록님의 url-error.cgi를 메일(nacapzzang@paran.com)로
보내주실 수 있는지요? 어떻게든 문제를 해결해보고 싶습니다.
번거롭게 해드려 죄송합니다.
Posted by: phil
|
2006년 10월 12일 저녁 08시 21분
알블님. 인코딩을 종전 euc-kr에서 UTF-8로 바꾸고 난 뒤에 링크 문제 해결되었습니다. 조언해 주셔서 고맙습니다.
에거거. 그나저나 블로그를 UTF-8로 전환하려니 템플릿 내 한글이 다 깨지다 보니 메뉴도 글자가 깨지더군요. 결국 수동으로 잡기는 했습니다.
백업한 글들 다시 올리는 것도 일이네요 ^^;
Posted by: phil
|
2006년 10월 25일 새벽 04시 12분
알록블록님 요 코멘트를 언제 보게 될지는 시어미도 며느리도 모르겠지만,
openid나 typekey 로그인 혹은 로그아웃 할 때, ie(6.xx), 와 ff(1.5xx)/opera(9.xx) 에서 다른 문제점들이 나타납니다.
주소를 리다이렉션할 때, 그 값을 못찾아줘서, 에러가 난다거나(그래서 검색 페이지로) 뭐 상황이 아주 복잡합니다.
잘 정리해서 얘기 해야지 했는데, 정리가 ㅠㅠ
처음엔 제 블로그만의 버그라고 생각했는데, 이 페이지에서의 증상도 같습니다.
리다이렉션 문제
typekey
ie
로그인 - 지대로 잘 옴
로그아웃 - 원래의 주소로 가지 못하고, 비슷한 페이지를 찾아 넘김.
ff
로그인 - Not Found
The requested URL /2007/02/� was not found on this server.
로그아웃 - 지대로 주소 찾아 옴.
openid
ie 로그인 - 제대로 옴 (주소 끝에 /index.html이 붙음)
로그아웃 - 제대로 됨 (주소 끝에 /index.html 붙음)
ff
로그인 - Not Found
The requested URL /2007/02/� was not found on this server.
로그아웃 - Not Found
The requested URL /2007/02/� was not found on this server.
이렇게 써 놓고 보니 IE가 더 나은 점도 있군요...
여하튼 이런 증상입니다.
Posted by: antimine.pe.kr
|
2007년 03월 01일 밤 11시 41분
확인해보니, 그냥 코멘트 작성시에도 리다이렉션이 안 됩니다. mt에서 주소를 못 찾아가네요. ㅠㅠ
Posted by: antimine.pe.kr
|
2007년 03월 02일 새벽 12시 34분