뭔가 하면 예제를 봐라
http://cplus98@tinydew4.pe.kr/
구현하기전에 필요한 함수들 (사실 이것도 내가 했지만)
function substr(string, start, length)
{
return string.substr(start, length - start);
}
function GetHost(url)
{
var host = "";
var at_pos = url.indexOf('@');
var split_pro = url.indexOf('://') + 3;
if (at_pos > 0)
host = substr(url, 0, split_pro) + substr(url, at_pos + 1, url.indexOf('/', at_pos));
else
host = substr(url, 0, url.indexOf('/', split_pro));
return host;
}
function GetID(url)
{
if (url.indexOf('@') > 0)
return substr(url, url.indexOf('/', url.indexOf('/') + 1) + 1, url.lastIndexOf('@'));
return "";
}
function GetPath(url)
{
var split_host = url.indexOf('/', (url.indexOf('/', url.indexOf('/') + 1) + 1));
var split_path = url.lastIndexOf('/');
if (split_host != split_path)
return substr(url, split_host, split_path);
return "";
}
function GetFile(url)
{
var split_path = url.lastIndexOf('/');
if (split_path < url.length)
{
var split_var = url.indexOf('?');
++split_path;
if (split_var > 0)
return substr(url, split_path, split_var);
else
return url.substr(split_path);
}
return "";
}
function GetVar(url)
{
var split_var = url.indexOf('?');
return (split_var > 0 ? url.substr(split_var + 1) : "");
}
실제내용
function at_redir(user_dir)
{
var url = "" + document.location;
var id = GetID(url);
if (id != "")
{
var redir = "";
if (id == "cplus98")
redir = "http://myhome.hanafos.com/~cplus98/";
else
redir = "http://tinydew4.pe.kr/users/" + id;
if (redir != "")
{
var request_var = GetVar(url);
if (request_var != "")
redir += "?" + request_var;
location.replace(redir);
}
}
}
참고소스에는 그냥 user 부분을 보고 redirecting 만 시켰는데
난 뒤에 ? 로 딸려오는 get변수도 넘겨줘..좀더 확장 시켰다.
(페이지도 넣으려 했는데 @ 자체가 페이지를 읽은 후에 처리되는 것이라 그냥 @ 부분을 뺀 url 을 읽어버려서 못함)
그냥..홈페이지 만들었거나 만들사람들은 자주쓰이는 주소 ( e.g 포트폴리오 ) 는 줄여서 멋있게 만들어 보라고;;
참고글 : phpschool.com 의 어딘가에서~
참고소스 : korea.com (view-source:http://korea.com 을 웹브라우저 주소창에 입력하면 나옴)
'Windows > 기타개발' 카테고리의 다른 글
[한글] PlaySound function (0) | 2016.06.24 |
---|---|
[CSS] input 태그 type 별 개별 적용 (0) | 2013.06.12 |
simple webserver by java, socket exam (0) | 2004.05.11 |
[소스] Object 의 이동을 아무 각도로나.. (0) | 2003.01.06 |