블로그 디렉토리는 어떻게 만들어진건지??

kmsc77의 이미지

궁금한것이..

블로그를 대체적으로 보면

http://blog.홈페이지.com/아이디

-_- 이렇게 입니다. 그렇다면..

아이디 <-- 이거 디렉토리일텐데..

회원 100만명이면 디렉토리도 100만??

=_= 어떻게 했을까??

호스트 네임은 분명 blog 하나인데;;;;

nfs로 공유를 ?? 그러기엔 너무 맹랑할거 같고..

한 디렉토리에 디렉토리 생성이 31999개 생성...

누가 속시원한 답변좀 알려주세요...

예제 달아주시면 더 좋고요. :D

이한길의 이미지

디렉토리가 아닙니다.. 모인위키던가요? 그것도 그렇쟎습니까?
소스 함 보세요.. 바로 있을껍니다...

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

sh.의 이미지

방법이야 여러가지겠지만 실제 디렉토리는 아닐겁니다

도메인 뒤에 넘어온 값을 기준으로 사용자를 구분하면 되는데

별로 어려운건 아닙니다.

php를 예로 들어도

환경변수 $_SERVER['QUERY_STRING'] 을 가지고 처리한다던가 하면 되거든요

kmsc77의 이미지

$_SERVER['QUERY_STRING'] <-- 이것은

http://주소/?쿼리~~~

쿼리 가져오는걸로 아는데용 ^^;

모인위키를 보니 http://blog.xxx.com/my.cgi/아이디

이렇게 되네요...음..

/아이디 <-- 요거~~ 분명 ? 없이 작동된겁니다.

그렇다면 어찌하여??? 이렇게???

-_-a python 이던뎅;;; 우~~ :wink:

buelgsk8er의 이미지

http//httpd.apache.org/docs/cgi_path.html
이게 도움이 될지도 모르겠습니다. 될 거 같은데 직접 해본 적은 없네요.

mod_rewrite를 써도 가능하긴 합니다. 이건 직접 해봤음.. 하지만 대형 사이트의 경우, 성능에 어느 정도의 영향을 끼치는지에 대해선 모르겠습니다.

progcom의 이미지

http://hoohoo.ncsa.uiuc.edu/cgi/env.html

웹 프로그램이랍시고 마구잡이 개발 하지 말고 규격 정도는 한번쯤 살펴보십시오.

kmsc77의 이미지

PATH_INFO 라는것은 알겠습니다.

http://blog.naver.com/xxx.php/경로

이렇게 되었을때

PATH_INFO를 호출하면 /경로가 나오는것은 알겠습니다.

http://blog.naver.com/경로

/경로 이 경로를 뽑을려면?? 어케 할까요??

응용인데;; 머리가 안돕니다. 뜬구름 잡는 설명도 제겐 왠지;;

어떤 핸들러를 적용해야 할지 감이;;

xxx.php 를 대치하던가.. 알리아스?? 방향을 ㅜ.ㅜ

고수님들 지나가다가 작은 설명이라도;; :o

buelgsk8er의 이미지

그러니까 /username 이것을 /somescript.cgi?username으로 바꾸면 되는거잖아요.
그걸 해주는게 Alias나 mod_rewrite라는 겁니다. 제가 위에 적은 URL에 나와있는 내용입니다.

Alias와 mod_rewrite에 대한 구체적인 내용은 아파치 레퍼런스를 직접 찾아보세요.

maylinux의 이미지

progcom wrote:
http://hoohoo.ncsa.uiuc.edu/cgi/env.html

웹 프로그램이랍시고 마구잡이 개발 하지 말고 규격 정도는 한번쯤 살펴보십시오.

이것도 이것이지만, phpinfo 함수로 나온 환경테스트에서
환경변수에 대한 설명이 쭈욱 나옵니다.

의외로 쓸만한것들이 많지요.

아바타 제작기간~~ 무려 5초!!!

kall의 이미지

pLog의 경우이렇게 했더군요.

.htaccess 파일에서

ErrorDocument 401 /plog/error.php
ErrorDocument 403 /plog/error.php
ErrorDocument 404 /plog/error.php
으로 404에러를 error.php로 돌린후에

error.php 파일에서

     $server  = HttpVars::getServer();
     $request = HttpVars::getRequest();

     $parts = split( "/", $server["REQUEST_URI"] );

     $userParam=$parts[count($parts)-1];
     if( is_numeric($userParam))
        $request["blogId"] = $userParam;
     else
        $request["user"] = $userParam;

     HttpVars::setRequest( $request );

     @header("HTTP/1.1 200 OK");
     @header("Status: 200 OK", TRUE);

     include_once ( PLOG_CLASS_PATH."index.php");
으로 값을 설정해서 사용하더군요.

----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ

cdpark의 이미지

헉.. ErrorDocument로 돌리는 건 좀 심했군요.

제가 관리하는 위키에서는..

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{REQUEST_URI}    !^/moin.cgi/
  RewriteCond %{REQUEST_URI}    !^/images/
  RewriteCond %{REQUEST_URI}    !^/favicon.ico$
  RewriteCond %{REQUEST_URI}    !^/$
  RewriteCond %{REQUEST_URI}    !^/index.html$

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule ^(.*)$ moin.cgi/$1 [QSA,L]
</IfModule>

식으로 돌려서 사용합니다.