mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-22 05:15:29 +09:00
rewrite module사용시 몇가지 상황에 대해 url을 디렉토리 형식으로 추가 변경하도록 함
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4278 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
9d7a4ccaea
commit
c8a119b01b
2 changed files with 53 additions and 26 deletions
|
|
@ -48,6 +48,12 @@ RewriteRule ^([a-zA-Z0-9_]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&page=$2 [L]
|
||||||
# mid + category link
|
# mid + category link
|
||||||
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)$ ./index.php?mid=$1&category=$2 [L]
|
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)$ ./index.php?mid=$1&category=$2 [L]
|
||||||
|
|
||||||
|
# mid + act + document_Srl
|
||||||
|
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$3&act=$2 [L]
|
||||||
|
|
||||||
|
# mid + document_Srl + page
|
||||||
|
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$2&page=$3 [L]
|
||||||
|
|
||||||
# mid + category + page
|
# mid + category + page
|
||||||
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&category=$2&page=$3 [L]
|
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&category=$2&page=$3 [L]
|
||||||
|
|
||||||
|
|
@ -63,5 +69,8 @@ RewriteRule ^([a-zA-Z0-9_]+)/tag/(.*)$ ./index.php?mid=$1&search_target=tag&sear
|
||||||
# mid + search target writer
|
# mid + search target writer
|
||||||
RewriteRule ^([a-zA-Z0-9_]+)/writer/(.*)$ ./index.php?mid=$1&search_target=nick_name&search_keyword=$2 [L]
|
RewriteRule ^([a-zA-Z0-9_]+)/writer/(.*)$ ./index.php?mid=$1&search_target=nick_name&search_keyword=$2 [L]
|
||||||
|
|
||||||
|
# mid + document_Srl + page + act
|
||||||
|
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$3&page=$4&act=$2 [L]
|
||||||
|
|
||||||
# module link
|
# module link
|
||||||
RewriteRule ^([a-zA-Z0-9_]+)(/){0,1}$ ./index.php?mid=$1 [L]
|
RewriteRule ^([a-zA-Z0-9_]+)(/){0,1}$ ./index.php?mid=$1 [L]
|
||||||
|
|
|
||||||
|
|
@ -584,34 +584,49 @@
|
||||||
if($get_vars['act'] && $this->isExistsSSLAction($get_vars['act'])) $path = $this->getRequestUri(ENFORCE_SSL);
|
if($get_vars['act'] && $this->isExistsSSLAction($get_vars['act'])) $path = $this->getRequestUri(ENFORCE_SSL);
|
||||||
else $path = $this->getRequestUri(RELEASE_SSL);
|
else $path = $this->getRequestUri(RELEASE_SSL);
|
||||||
|
|
||||||
// rewrite모듈을 사용하고 인자의 값이 4개 이하일 경우
|
// rewrite모듈을 사용할때 getUrl()을 이용한 url 생성
|
||||||
if($this->allow_rewrite && $var_count < 4) {
|
if($this->allow_rewrite) {
|
||||||
$var_keys = array_keys($get_vars);
|
if(count($get_vars)) foreach($get_vars as $key => $value) if($value !== 0 && !$value) unset($get_vars[$key]);
|
||||||
|
|
||||||
if($var_count == 1) {
|
$var_keys = array_keys($get_vars);
|
||||||
if($var_keys[0]=='mid') return $path.$get_vars['mid'];
|
asort($var_keys);
|
||||||
elseif($var_keys[0]=='document_srl') return $path.$get_vars['document_srl'];
|
$target = implode('.',$var_keys);
|
||||||
} elseif($var_count == 2) {
|
|
||||||
asort($var_keys);
|
switch($target) {
|
||||||
$target = implode('.',$var_keys);
|
case 'mid' :
|
||||||
if($target=='act.mid' && !preg_match('/([A-Z]+)/',$get_vars['act'])) return sprintf('%s%s/%s',$path,$get_vars['mid'],$get_vars['act']);
|
return $path.$get_vars['mid'];
|
||||||
elseif($target=='document_srl.mid') return sprintf('%s%s/%s',$path,$get_vars['mid'],$get_vars['document_srl']);
|
case 'document_srl' :
|
||||||
elseif($target=='act.document_srl') return sprintf('%s%s/%s',$path,$get_vars['document_srl'],$get_vars['act']);
|
return $path.$get_vars['document_srl'];
|
||||||
elseif($target=='mid.page') return sprintf('%s%s/page/%s',$path,$get_vars['mid'],$get_vars['page']);
|
case 'act.mid' :
|
||||||
elseif($target=='category.mid') return sprintf('%s%s/category/%s',$path,$get_vars['mid'],$get_vars['category']);
|
return sprintf('%s%s/%s',$path,$get_vars['mid'],$get_vars['act']);
|
||||||
} elseif($var_count == 3) {
|
case 'document_srl.mid' :
|
||||||
asort($var_keys);
|
return sprintf('%s%s/%s',$path,$get_vars['mid'],$get_vars['document_srl']);
|
||||||
$target = implode('.',$var_keys);
|
case 'act.document_srl' :
|
||||||
if($target=='act.document_srl.key') {
|
return sprintf('%s%s/%s',$path,$get_vars['document_srl'],$get_vars['act']);
|
||||||
|
case 'mid.page' :
|
||||||
|
return sprintf('%s%s/page/%s',$path,$get_vars['mid'],$get_vars['page']);
|
||||||
|
case 'category.mid' :
|
||||||
|
return sprintf('%s%s/category/%s',$path,$get_vars['mid'],$get_vars['category']);
|
||||||
|
case 'act.document_srl.key' :
|
||||||
return sprintf('%s%s/%s/%s',$path,$get_vars['document_srl'],$get_vars['key'],$get_vars['act']);
|
return sprintf('%s%s/%s/%s',$path,$get_vars['document_srl'],$get_vars['key'],$get_vars['act']);
|
||||||
} elseif($target=='category.mid.page') {
|
case 'document_srl.mid.page' :
|
||||||
|
return sprintf('%s%s/%s/page/%s',$path,$get_vars['mid'],$get_vars['document_srl'],$get_vars['page']);
|
||||||
|
case 'category.mid.page' :
|
||||||
return sprintf('%s%s/category/%s/page/%s',$path,$get_vars['mid'],$get_vars['category'],$get_vars['page']);
|
return sprintf('%s%s/category/%s/page/%s',$path,$get_vars['mid'],$get_vars['category'],$get_vars['page']);
|
||||||
} elseif($target=='mid.search_keyword.search_target' && $get_vars['search_target']=='tag') {
|
case 'mid.search_keyword.search_target' :
|
||||||
return sprintf('%s%s/tag/%s',$path,$get_vars['mid'],str_replace(' ','-',$get_vars['search_keyword']));
|
switch($get_vars['search_target']) {
|
||||||
} elseif($target=='mid.search_keyword.search_target' && $get_vars['search_target']=='regdate') {
|
case 'tag' :
|
||||||
if(strlen($get_vars['search_keyword'])==8) return sprintf('%s%s/%04d/%02d/%02d',$path,$get_vars['mid'],substr($get_vars['search_keyword'],0,4),substr($get_vars['search_keyword'],4,2),substr($get_vars['search_keyword'],6,2));
|
return sprintf('%s%s/tag/%s',$path,$get_vars['mid'],str_replace(' ','-',$get_vars['search_keyword']));
|
||||||
elseif(strlen($get_vars['search_keyword'])==6) return sprintf('%s%s/%04d/%02d',$path,$get_vars['mid'],substr($get_vars['search_keyword'],0,4),substr($get_vars['search_keyword'],4,2));
|
case 'nick_name' :
|
||||||
}
|
return sprintf('%s%s/writer/%s',$path,$get_vars['mid'],str_replace(' ','-',$get_vars['search_keyword']));
|
||||||
|
case 'regdate' :
|
||||||
|
if(strlen($get_vars['search_keyword'])==8) return sprintf('%s%s/%04d/%02d/%02d',$path,$get_vars['mid'],substr($get_vars['search_keyword'],0,4),substr($get_vars['search_keyword'],4,2),substr($get_vars['search_keyword'],6,2));
|
||||||
|
elseif(strlen($get_vars['search_keyword'])==6) return sprintf('%s%s/%04d/%02d',$path,$get_vars['mid'],substr($get_vars['search_keyword'],0,4),substr($get_vars['search_keyword'],4,2));
|
||||||
|
}
|
||||||
|
case 'act.document_srl.mid' :
|
||||||
|
return sprintf('%s%s/%s/%s',$path,$get_vars['mid'], $get_vars['act'],$get_vars['document_srl']);
|
||||||
|
case 'act.document_srl.mid.page' :
|
||||||
|
return sprintf('%s%s/%s/%s/page/%s',$path,$get_vars['mid'], $get_vars['act'], $get_vars['document_srl'],$get_vars['page']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -640,7 +655,10 @@
|
||||||
$use_ssl = false;
|
$use_ssl = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return sprintf("%s://%s%s",$use_ssl?'https':'http',$_SERVER['HTTP_HOST'], getScriptPath());
|
|
||||||
|
if($use_ssl) return sprintf("%s://%s%s",'https',$_SERVER['HTTP_HOST'], getScriptPath());
|
||||||
|
|
||||||
|
return getScriptPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue