CINXE.COM
ko:rewrite [DokuWiki]
<!DOCTYPE html> <html lang="ko" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <title>ko:rewrite [DokuWiki]</title> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="ko,rewrite"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="DokuWiki"/> <link rel="start" href="/"/> <link rel="contents" href="/ko:rewrite?do=index" title="사이트맵"/> <link rel="manifest" href="/lib/exe/manifest.php" crossorigin="use-credentials"/> <link rel="alternate" type="application/rss+xml" title="최근 바뀜" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="현재 이름공간" href="/feed.php?mode=list&ns=ko"/> <link rel="edit" title="문서 편집" href="/ko:rewrite?do=edit"/> <link rel="alternate" type="text/html" title="일반 HTML" href="/_export/xhtml/ko:rewrite"/> <link rel="alternate" type="text/plain" title="위키 문법" href="/_export/raw/ko:rewrite"/> <link rel="canonical" href="https://www.dokuwiki.org/ko:rewrite"/> <link rel="stylesheet" href="/lib/exe/css.php?t=dokuwiki&tseed=7ae64dbeb6443493d1676fcfa66176f2"/> <link rel="alternate" hreflang="en" href="https://www.dokuwiki.org/rewrite"/> <link rel="alternate" hreflang="de" href="https://www.dokuwiki.org/de:rewrite"/> <link rel="alternate" hreflang="fr" href="https://www.dokuwiki.org/fr:rewrite"/> <link rel="alternate" hreflang="ja" href="https://www.dokuwiki.org/ja:rewrite"/> <link rel="alternate" hreflang="pl" href="https://www.dokuwiki.org/pl:rewrite"/> <link rel="alternate" hreflang="ru" href="https://www.dokuwiki.org/ru:rewrite"/> <link rel="alternate" hreflang="zh" href="https://www.dokuwiki.org/zh:rewrite"/> <link rel="alternate" hreflang="x-default" href="https://www.dokuwiki.org/rewrite"/> <script >var NS='ko';var JSINFO = {"plugins":{"edittable":{"default columnwidth":""}},"id":"ko:rewrite","namespace":"ko","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" defer="defer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.14.1/jquery-ui.min.js" defer="defer"></script> <script src="/lib/exe/js.php?t=dokuwiki&tseed=7ae64dbeb6443493d1676fcfa66176f2&lang=ko" defer="defer"></script> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/lib/tpl/dokuwiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/lib/tpl/dokuwiki/images/apple-touch-icon.png" /> <meta name="verify-v1" content="OVxl3gsCv2MhZqh1cBQyl0JytWXSwXMjyvwc+4w3WtA=" /> <meta name="google-site-verification" content="YhTVK69hW94ZXUtc2zSLPxTkZKbZIn0zK67mz5WQB-E" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-83791-1', { 'anonymize_ip': true }); </script> </head> <body> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_dokuwiki showSidebar hasSidebar"> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">내용으로 건너뛰기</a></li> </ul> <h1 class="logo"><a href="/start" accesskey="h" title="Home [h]"><img src="/lib/tpl/dokuwiki/images/logo.png" width="64" height="64" alt="" /><span>DokuWiki</span></a></h1> <p class="claim">It's better when it's simple</p> </div> <div class="tools group"> <!-- USER TOOLS --> <div id="dokuwiki__usertools"> <h3 class="a11y">사용자 도구</h3> <ul> <li class="action login"><a href="/ko:rewrite?do=login&sectok=" title="로그인" rel="nofollow"><span>로그인</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">사이트 도구</h3> <form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="ko:rewrite" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="검색" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="검색">검색</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="ko:rewrite" /><select name="do" class="edit quickselect" title="도구"><option value="">도구</option><optgroup label="문서 도구"><option value="edit">문서 편집</option><option value="revisions">이전 판</option><option value="backlink">역링크</option></optgroup><optgroup label="사이트 도구"><option value="recent">최근 바뀜</option><option value="media">미디어 관리자</option><option value="index">사이트맵</option></optgroup><optgroup label="사용자 도구"><option value="login">로그인</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/ko:rewrite?do=recent" title="최근 바뀜 [r]" rel="nofollow" accesskey="r">최근 바뀜</a></li><li class="action media"><a href="/ko:rewrite?do=media&ns=ko" title="미디어 관리자" rel="nofollow">미디어 관리자</a></li><li class="action index"><a href="/ko:rewrite?do=index" title="사이트맵 [x]" rel="nofollow" accesskey="x">사이트맵</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="trace"><span class="bchead">추적:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/ko:rewrite" class="breadcrumbs" title="ko:rewrite">rewrite</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** ASIDE ********** --> <nav id="dokuwiki__aside" aria-label="사이드바"><div class="pad aside include group"> <h3 class="toggle">사이드바</h3> <div class="content"><div class="group"> <div class="notify">이 번역은 <a href="/rewrite" class="wikilink1">원래 문서</a>보다 오래되었고 오래된 번역일 수 있습니다. 무엇이 <a href="/rewrite?do=diff&rev=1504021281" class="wikilink1">바뀌었는지</a> 보세요.</div><div class="plugin_translation is-dropdown"><span class="title">이 문서의 번역<sup><a href="/localization" class="wikilink1" title="localization" data-wiki-id="localization">?</a></sup>: </span><ul><li class="a"><a class="wikilink1" title="English" href="/rewrite">English (en)</a></li><li class="a"><a class="wikilink2" title="|العربية" href="/ar:rewrite">|العربية (ar)</a></li><li class="a"><a class="wikilink2" title="Català" href="/ca:rewrite">Català (ca)</a></li><li class="a"><a class="wikilink2" title="Česky" href="/cs:rewrite">Česky (cs)</a></li><li class="a"><a class="wikilink2" title="Dansk" href="/da:rewrite">Dansk (da)</a></li><li class="a"><a class="wikilink1" title="Deutsch" href="/de:rewrite">Deutsch (de)</a></li><li class="a"><a class="wikilink2" title="Ελληνικά" href="/el:rewrite">Ελληνικά (el)</a></li><li class="a"><a class="wikilink2" title="Esperanto" href="/eo:rewrite">Esperanto (eo)</a></li><li class="a"><a class="wikilink2" title="Español" href="/es:rewrite">Español (es)</a></li><li class="a"><a class="wikilink2" title="فارسی" href="/fa:rewrite">فارسی (fa)</a></li><li class="a"><a class="wikilink1" title="Français" href="/fr:rewrite">Français (fr)</a></li><li class="a"><a class="wikilink2" title="עברית" href="/he:rewrite">עברית (he)</a></li><li class="a"><a class="wikilink2" title="Magyar" href="/hu:rewrite">Magyar (hu)</a></li><li class="a"><a class="wikilink2" title="Italiano" href="/it:rewrite">Italiano (it)</a></li><li class="a"><a class="wikilink1" title="日本語" href="/ja:rewrite">日本語 (ja)</a></li><li class="span"><span class="wikilink1" title="한국어">한국어 (ko)</span></li><li class="a"><a class="wikilink2" title="Lietuvių Kalba" href="/lt:rewrite">Lietuvių Kalba (lt)</a></li><li class="a"><a class="wikilink2" title="Nederlands" href="/nl:rewrite">Nederlands (nl)</a></li><li class="a"><a class="wikilink2" title="Norsk" href="/no:rewrite">Norsk (no)</a></li><li class="a"><a class="wikilink1" title="Polski" href="/pl:rewrite">Polski (pl)</a></li><li class="a"><a class="wikilink2" title="Português" href="/pt-br:rewrite">Português (pt-br)</a></li><li class="a"><a class="wikilink2" title="Română" href="/ro:rewrite">Română (ro)</a></li><li class="a"><a class="wikilink1" title="Русский" href="/ru:rewrite">Русский (ru)</a></li><li class="a"><a class="wikilink2" title="Српски Језик" href="/sr:rewrite">Српски Језик (sr)</a></li><li class="a"><a class="wikilink2" title="Svenska" href="/sv:rewrite">Svenska (sv)</a></li><li class="a"><a class="wikilink2" title="ไทย" href="/th:rewrite">ไทย (th)</a></li><li class="a"><a class="wikilink2" title="Українська" href="/uk:rewrite">Українська (uk)</a></li><li class="a"><a class="wikilink1" title="中文" href="/zh:rewrite">中文 (zh)</a></li><li class="a"><a class="wikilink2" title="繁體中文" href="/zh-tw:rewrite">繁體中文 (zh-tw)</a></li></ul></div> <p> <strong>Learn about DokuWiki</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/features" class="wikilink1" title="features" data-wiki-id="features">Features</a> & <a href="/blogroll" class="wikilink1" title="blogroll" data-wiki-id="blogroll">reviews</a> </div> </li> <li class="level1"><div class="li"> <a href="/install" class="wikilink1" title="install" data-wiki-id="install">Installation guide</a></div> </li> <li class="level1"><div class="li"> <a href="/manual" class="wikilink1" title="manual" data-wiki-id="manual">User manual</a> & <a href="/wiki:syntax" class="wikilink1" title="wiki:syntax" data-wiki-id="wiki:syntax">syntax</a></div> </li> <li class="level1"><div class="li"> <a href="/changes" class="wikilink1" title="changes" data-wiki-id="changes">Release notes</a></div> </li> <li class="level1"><div class="li"> <a href="/faq" class="wikilink1" title="faq" data-wiki-id="faq">FAQ</a></div> </li> </ul> <p> <strong>Advanced Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/extensions" class="wikilink1" title="extensions" data-wiki-id="extensions">Extensions</a></div> </li> <li class="level1"><div class="li"> <a href="/development" class="wikilink1" title="development" data-wiki-id="development">Development manual</a></div> </li> </ul> <p> <strong>Corporate Use</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/faq:support" class="wikilink1" title="faq:support" data-wiki-id="faq:support">Get support</a></div> </li> <li class="level1"><div class="li"> <a href="/donate" class="wikilink1" title="donate" data-wiki-id="donate">Donations</a></div> </li> </ul> <p> <strong>Our Community</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/teams:getting_involved" class="wikilink1" title="teams:getting_involved" data-wiki-id="teams:getting_involved">Get involved</a></div> </li> <li class="level1"><div class="li"> <a href="/dokuinstall" class="wikilink1" title="dokuinstall" data-wiki-id="dokuinstall">Users</a></div> </li> <li class="level1"><div class="li"> <a href="http://forum.dokuwiki.org" class="urlextern" title="http://forum.dokuwiki.org">User forum</a></div> </li> <li class="level1"><div class="li"> <a href="/mailinglist" class="wikilink1" title="mailinglist" data-wiki-id="mailinglist">Development mailinglist</a></div> </li> </ul> <hr /> <p> Follow us on <a href="https://phpc.social/@dokuwiki" class="urlextern" title="https://phpc.social/@dokuwiki">Mastodon</a> and other <a href="/social" class="wikilink1" title="social" data-wiki-id="social">social networks</a>. </p> <p> <a href="/privacy" class="wikilink1" title="privacy" data-wiki-id="privacy">Our Privacy Policy</a> </p> </div></div> </div></nav><!-- /aside --> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>ko:rewrite</span></div> <div class="page group"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">목차</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#url_rewriting">URL Rewriting</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#옵션_1웹서버">옵션 1: 웹서버</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#apache">Apache</a></div></li> <li class="level3"><div class="li"><a href="#iis">IIS</a></div></li> <li class="level3"><div class="li"><a href="#lighttpd">Lighttpd</a></div></li> <li class="level3"><div class="li"><a href="#nginx">Nginx</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#option_2dokuwiki">Option 2: DokuWiki</a></div></li> <li class="level2"><div class="li"><a href="#clean_php_세션_id">Clean PHP 세션 ID</a></div></li> <li class="level2"><div class="li"><a href="#번역">번역</a></div></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="url_rewriting">URL Rewriting</h1> <div class="level1"> <p> 기본적으로 DokuWiki는 다음처럼 URLs에서 <abbr title="Uniform Resource Locator">URL</abbr> rewriting을 쓰지 않습니다: http://example.com/doku.php?id=page. 이 URL들은 보기 안좋은 형태로 간주되며 어떤 검색엔진에서는 색인 생성이 제대로 되지 않습니다. 해결 방법은 <abbr title="Uniform Resource Locator">URL</abbr> rewriting을 사용하면 됩니다. DokuWiki는 <a href="/config:userewrite" class="wikilink1" title="config:userewrite" data-wiki-id="config:userewrite">userewrite</a> 옵션을 통해 <abbr title="Uniform Resource Locator">URL</abbr> rewriting을 쓰기 위한 두가지 방법을 지원합니다. 한가지는 웹서버의 rewriting기능을 사용하는 것이고 다른 하나는 DokuWiki자체에서 지원하는 방법입니다. 아래 표는 모든 가능한 옵션을 다시 설명합니다. </p> <div class="table sectionedit2"><table class="inline"> <thead> <tr class="row0"> <th class="col0"> 값 </th><th class="col1"> 정보 </th><th class="col2"> <abbr title="Uniform Resource Locator">URL</abbr> 예 </th> </tr> </thead> <tr class="row1"> <td class="col0"> 0 </td><td class="col1 leftalign"> <abbr title="Uniform Resource Locator">URL</abbr> rewriting 사용 안함(기본). </td><td class="col2"> http://example.com/dokuwiki/doku.php?id=wiki:syntax </td> </tr> <tr class="row2"> <td class="col0"> 1 </td><td class="col1 leftalign"> 웹서버를 통한 Rewriting </td><td class="col2 leftalign"> http://example.com/dokuwiki/wiki:syntax </td> </tr> <tr class="row3"> <td class="col0"> 2 </td><td class="col1 leftalign"> DokuWiki를 통한 Rewriting </td><td class="col2"> http://example.com/dokuwiki/doku.php/wiki:syntax </td> </tr> </table></div> <div class="secedit editbutton_table editbutton_2"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[표] " /><input type="hidden" name="target" value="table" /><input type="hidden" name="hid" value="table" /><input type="hidden" name="range" value="674-1002" /><button type="submit" title="표">편집</button></div></form></div> <p> <abbr title="Uniform Resource Locator">URL</abbr>-Rewriting은 몇가지 추가적인 옵션 설정이 필요하므로 기본적으로 금지되어 있습니다. - <a href="/config:userewrite" class="wikilink1" title="config:userewrite" data-wiki-id="config:userewrite">옵션</a>들에 대한 자세한 사항들은 아래에서 논의되고 있습니다. </p> </div> <div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[URL Rewriting] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="url_rewriting" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1-1229" /><button type="submit" title="URL Rewriting">편집</button></div></form></div> <h2 class="sectionedit3" id="옵션_1웹서버">옵션 1: 웹서버</h2> <div class="level2"> <div class="table sectionedit4"><table class="inline"> <tr class="row0"> <td class="col0 leftalign"> $conf['userewrite'] = 1; </td> </tr> </table></div> <div class="secedit editbutton_table editbutton_4"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[표] " /><input type="hidden" name="target" value="table" /><input type="hidden" name="hid" value="table1" /><input type="hidden" name="range" value="1263-1292" /><button type="submit" title="표">편집</button></div></form></div> <p> 이 옵션은 보기좋은 URL을 만들지만 웹서버가 rewritten URL을 파싱하도록 설정해야 하고 DokuWiki에게 파싱처리된(deconstructed)URL을 넘겨줍니다. </p> </div> <div class="secedit editbutton_section editbutton_3"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[옵션 1: 웹서버] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="옵션_1웹서버" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1230-1480" /><button type="submit" title="옵션 1: 웹서버">편집</button></div></form></div> <h3 class="sectionedit5" id="apache">Apache</h3> <div class="level3"> <p> 아파치는 <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html" class="urlextern" title="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">Apache 1</a>와 <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html" class="urlextern" title="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">Apache 2</a> mod_rewrite 모듈을 통해 Rewriting URL을 파싱합니다. 서버의 주 환경 설정 파일이나 DokuWiki의 주 디렉토리 내의 .htaccess파일을 통해 정의된 규칙에 의해 모듈의 설정이 이루어지게 됩니다. </p> <p> DokuWiki는 기본적으로 rewrite 규칙(mod 1)을 가지고 있는 .htaccess.dist 파일과 함께 배포됩니다. rewriting을 가능하게 하려면 파일을 .htaccess로 복사( doku.php파일을 포함한 폴더로, debian 사용자는 제외)하고 주석처리된 규칙들의 주석표시를 제거합니다. </p> <pre class="code apche">RewriteEngine on RewriteBase /dokuwiki RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] RewriteRule ^$ doku.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) doku.php?id=$1 [QSA,L] RewriteRule ^index.php$ doku.php</pre> <p> <code>RewriteBase /dokuwiki</code>이 있는 행에서, <code>/dokuwiki</code>를 URL상에서 Wiki로 접근하는데 쓰인 디렉토리로 교체합니다. 옵션 0일 때의 보통 URL형태가 <a href="http://www.whatever.com/projects/documents/doku.php" class="urlextern" title="http://www.whatever.com/projects/documents/doku.php">http://www.whatever.com/projects/documents/doku.php</a>라면 <code>RewriteBase /projects/documents</code>로 교체하면 됩니다. 어쨋거나 때때로 이 행은 전혀 필요하지 않습니다. </p> </div> <h4 id="주의할_점들">주의할 점들</h4> <div class="level4"> <p> .htaccess 파일은 아파치의 주 환경 파일이 허용하는 경우에만 쓸모가 있습니다. 많은 기본 아파치 설정은 사용하지 않게 되어있습니다. 만일 .htaccess가 동작하게 하고 싶다면 다음 부분을 httpd.conf에 추가합니다: </p> <pre class="code apache"><<span class="kw3">Directory</span> /path/to/dokuwiki> <span class="kw1">AllowOverride</span> <span class="kw2">All</span> </<span class="kw3">Directory</span>></pre> <p> 상대적으로 위에 언급된 규칙을 직접 httpd.conf에 간단하게 기술할 수도 있습니다: </p> <pre class="code apache"><<span class="kw3">Directory</span> /path/to/dokuwiki> <span class="kw1">RewriteEngine</span> <span class="kw2">on</span> ... rewrite rules here ... </<span class="kw3">Directory</span>></pre> <p> 수정을 한 뒤에는 아파치를 다시 시작해야합니다. 어떤 사용자들은 rewrite기능을 활성화한 뒤로 “403 - Forbidden”에러를 보게된다고 합니다. 이 문제를 해결하려면 다음의 FollowSymlinks 옵션을 설정해야 합니다: </p> <pre class="code apache"><span class="kw1">Options</span> +<span class="kw2">FollowSymlinks</span> <span class="kw1">RewriteEngine</span> <span class="kw2">on</span> ...etc.</pre> <p> 위에 설정된 규칙은 모든 존재하지 않는 파일과 디렉토리를 DokuWiki의 주 dispatcher로 매핑합니다. 이 것은 가상 매핑(alias)에도 적용됩니다. 예를 들면 어떤 호스트들은 웹 접근 통계를 가상의 /stats 디렉토리에 매핑합니다. 가상 디렉토리에 접근하게 하려면, rewrite 조건에서 그들을 제외시킬 필요가 있습니다. </p> <p> 예: </p> <pre class="code apache">... <span class="kw1">RewriteCond</span> %{REQUEST_FILENAME} !-f <span class="kw1">RewriteCond</span> %{REQUEST_FILENAME} !-d <span class="kw1">RewriteCond</span> %{REQUEST_URI} !^/stats/(.*)$ ...</pre> </div> <div class="secedit editbutton_section editbutton_5"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[Apache] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="apache" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1481-4646" /><button type="submit" title="Apache">편집</button></div></form></div> <h3 class="sectionedit6" id="iis">IIS</h3> <div class="level3"> <p> IIS는 rewrite 모듈을 표준으로 지원하고 있지 않습니다. <a href="http://www.isapirewrite.com/" class="urlextern" title="http://www.isapirewrite.com/">ISAPI Rewrite Lite</a>(free)은 다음의 rewrite 규칙과 함께 성공적으로 동작됩니다. (<code>C:\Program Files\Helicon\ISAPI_Rewrite\httpd.ini</code>파일 참조): </p> <pre class="code apache"><span class="co1"># Dokuwiki rules</span> <span class="co1"># Fix RSS Feeds</span> <span class="kw1">RewriteRule</span> ^(/wiki/)feed.php $1/feed.php [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)feed.php\?(.*) $1/feed.php\?mode=$2&$3 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)_media/(.*)\?(.*) $1lib/exe/fetch.php\?media=$2&$3 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)_detail/(.*)\?(.*) $1lib/exe/detail.php\?media=$2&$3 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)_detail/(.*) $1lib/exe/detail.php\?media=$2 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)_export/([^/]+)/(.*) $1doku.php?do=export_$2&id=$3 [I,L] <span class="kw1">RewriteRule</span> (/wiki/) $1doku.php [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)\?idx=(.*) $1doku.php\?idx=$2 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)lib/(.*) $1lib/$2 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)(.*)\?do=(.*) $1doku.php\?id=$2&do=$3 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)doku.php\?id=(.*) $1doku.php\?id=$2 [I,L] <span class="kw1">RewriteRule</span> ^(/wiki/)(.*) $1doku.php\?id=$2 [I,L] <span class="co1"># this rule fixes a problem to see the old revisions</span> <span class="kw1">RewriteRule</span> ^(/wiki/)(.*)\?(.*) $1doku.php\?id=$2&$3 [I,L] <span class="co1"># Diff still broken unless none is selected under 'use nice URL' options. You can still enter and link to nice URLs but the Dokuwiki program will use normal naming.</span></pre> <p> 모든 <code>RewriteRule ^(/wiki/)</code>이 있는 행들에서, <code>(/wiki/)</code>를 URL상에서 Wiki로 접근하는데 쓰인 디렉토리로 교체합니다.<br/> 옵션 0일 때의 보통 URL형태가 <a href="http://www.whatever.com/projects/documents/doku.php" class="urlextern" title="http://www.whatever.com/projects/documents/doku.php">http://www.whatever.com/projects/documents/doku.php</a>라면 <code>^(/projects/documents/)</code>로 교체하면 됩니다. </p> </div> <div class="secedit editbutton_section editbutton_6"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[IIS] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="iis" /><input type="hidden" name="codeblockOffset" value="5" /><input type="hidden" name="range" value="4647-6320" /><button type="submit" title="IIS">편집</button></div></form></div> <h3 class="sectionedit7" id="lighttpd">Lighttpd</h3> <div class="level3"> <p> 이 것은 <a href="http://apassant.net/blog/2006/02/11/65-dokuwiki-url-rewriting-in-lighttpd" class="urlextern" title="http://apassant.net/blog/2006/02/11/65-dokuwiki-url-rewriting-in-lighttpd">suggested</a> for lighty 의 개선된 버전입니다. </p> <pre class="code">url.rewrite-once = ( "^(/|index.php)?$" => "/doku.php", "^/lib/(.*)/?$" => "/lib/$1", "^/_media/(.*)?\?(.*)$" => "/lib/exe/fetch.php?media=$1&$2", "^/_media/(.*)$" => "/lib/exe/fetch.php?media=$1", "^/_detail/(.*)?\?(.*)$" => "/lib/exe/detail.php?media=$1&$2", "^/_detail/(.*)?$" => "/lib/exe/detail.php?media=$1", "^/_export/([^/]+)/(.*)$" => "/doku.php?do=export_$1&id=$2", "^/(?!doku.php|feed.php|robots.txt|sitemap.xml.gz)(.*)\?(.*)/?$" => "/doku.php?id=$1&$2", "^/(?!doku.php|feed.php|robots.txt|sitemap.xml.gz|lib|_media|_detail|_export)(.*)/?$" => "/doku.php?id=$1", )</pre> </div> <div class="secedit editbutton_section editbutton_7"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[Lighttpd] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="lighttpd" /><input type="hidden" name="codeblockOffset" value="6" /><input type="hidden" name="range" value="6321-7441" /><button type="submit" title="Lighttpd">편집</button></div></form></div> <h3 class="sectionedit8" id="nginx">Nginx</h3> <div class="level3"> <p> Nginx는 아주 빠르고 안정적인 httpd입니다. 자세한 정보는 <a href="http://nginx.net/" class="urlextern" title="http://nginx.net/">nginx project</a>와 <a href="http://wiki.codemongers.com/Nginx" class="urlextern" title="http://wiki.codemongers.com/Nginx">wiki</a>를 참고하기 바랍니다. 다음의 예에서 server root는 /var/www이며 dokuwiki를 /var/www/dokuwiki로 풀어낼 수 있습니다. </p> <pre class="code"> server { listen 80; server_name _ *; port_in_redirect off; optimize_server_names off; access_log /var/log/nginx/localhost.access.log; rewrite ^(/dokuwiki/)_media/(.*) $1lib/exe/fetch.php?media=$2 last; rewrite ^(/dokuwiki/)_detail/(.*) $1lib/exe/detail.php?media=$2 last; rewrite ^(/dokuwiki/)_export/([^/]+)/(.*) $1doku.php?do=export_$2&id=$3 last; location / { root /var/www; index index.html index.htm index.php; } location /dokuwiki/ { if (!-f $request_filename) { rewrite ^(/dokuwiki/)(.*)?(.*) $1doku.php?id=$2&$3 last; rewrite ^(/dokuwiki/)$ $1doku.php last; } } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www; } location ~ \.php$ { fastcgi_pass 127.0.0.1:8888; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } </pre> </div> <h4 id="주의">주의</h4> <div class="level4"> <p> Nginx는 fastcgi를 완벽하게 지원합니다. 설정하기 위해선 <a href="http://wiki.codemongers.com/NginxHttpFcgiModule" class="urlextern" title="http://wiki.codemongers.com/NginxHttpFcgiModule">nginx fastcgi</a>문서를 참고합니다. </p> <p> 위치 설정 전에 rewrite규칙의 마지막 키워드는 단지 한번만 일어나도록 보장해줍니다. 먼저 위 코드 상의 모든 /dokuwiki/를 웹서버 루트 디렉토리의 위키 상대경로로 전부 바꿉니다. </p> </div> <div class="secedit editbutton_section editbutton_8"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[Nginx] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="nginx" /><input type="hidden" name="codeblockOffset" value="7" /><input type="hidden" name="range" value="7442-9339" /><button type="submit" title="Nginx">편집</button></div></form></div> <h2 class="sectionedit9" id="option_2dokuwiki">Option 2: DokuWiki</h2> <div class="level2"> <div class="table sectionedit10"><table class="inline"> <tr class="row0"> <td class="col0"> $conf['userewrite'] = 2; </td> </tr> </table></div> <div class="secedit editbutton_table editbutton_10"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[표] " /><input type="hidden" name="target" value="table" /><input type="hidden" name="hid" value="table2" /><input type="hidden" name="range" value="9372-9400" /><button type="submit" title="표">편집</button></div></form></div> <p> 이 옵션은 웹서버를 따로 설정할 필요가 없습니다. 어찌되었든 아파치에서 구현된 CGI표준의 PATH_INFO 기능에 의존적입니다. IIS는 이 설정으로는 동작하지 않습니다. <a href="http://bugs.dokuwiki.org/index.php?do=details&task_id=718" class="interwiki iw_bug" title="http://bugs.dokuwiki.org/index.php?do=details&task_id=718">bug</a> 이 옵션과 apache의 <strong>Alias directive</strong>를 같이 사용하면 문제가 발생합니다! </p> </div> <div class="secedit editbutton_section editbutton_9"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[Option 2: DokuWiki] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="option_2dokuwiki" /><input type="hidden" name="codeblockOffset" value="8" /><input type="hidden" name="range" value="9340-9730" /><button type="submit" title="Option 2: DokuWiki">편집</button></div></form></div> <h2 class="sectionedit11" id="clean_php_세션_id">Clean PHP 세션 ID</h2> <div class="level2"> <p> “명백한”URL을 사용했음에도 불구하고, 아래처럼 보이는 URL상의 “DokuWiki”인자를 볼지도 모릅니다: </p> <p> PHP session ID: </p> <pre class="code">http://example.com/example?DokuWiki=c81a95369a66576982119e2a60b557a5</pre> <p> 이 인자는 PHP가 자동적으로 추가한 PHP 세션 ID입니다. 이 것은 rewriting과 전혀 상관없습니다. 이 문제를 피하려면 PHP가 강제로 <code>session.use_only_cookies</code> PHP 옵션을 설정하여 강제로 세션을 위한 쿠키를 언제나 사용하도록 합니다. </p> <p> 보통 php.ini설정 파일에서 변경이 가능합니다.(웹 호스트를 사용할 때, 지원 페이지의 존재 여부와 그 값을 어떻게 수정할 수 있는지 검사합니다.) : </p> <pre class="code ini">session.use_only_cookies<span class="sy0">=</span><span class="re2">1</span></pre> <p> 만일 아직도 세션 ID가 동작된다면: </p> <pre class="code ini">session.use_trans_sid<span class="sy0">=</span><span class="re2">0</span></pre> <p> PHP가 아파치 모듈로서 사용된다면 .htaccess파일에서 다음 문법을 사용하여 바꿀 수 있습니다. </p> <pre class="code">php_flag session.use_only_cookies on</pre> </div> <div class="secedit editbutton_section editbutton_11"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[Clean PHP 세션 ID] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="clean_php_세션_id" /><input type="hidden" name="codeblockOffset" value="8" /><input type="hidden" name="range" value="9731-10802" /><button type="submit" title="Clean PHP 세션 ID">편집</button></div></form></div> <h2 class="sectionedit12" id="번역">번역</h2> <div class="level2"> <p> <em>english version: dokuwiki-2006-11-06. </em> </p> <p> <em>Add your email here if you created translated or modified whole or part of this page.</em> </p> <ul> <li class="level1"><div class="li"> <em><a href="mailto:bootmeta%20%5Bat%5D%20zoo%20%5Bdot%5D%20com" class="mail" title="bootmeta [at] zoo [dot] com">jk Lee</a> - real mail domain is gmail, not zoo.com for spam filtering 2007-2-7 created</em></div> </li> </ul> </div> <div class="secedit editbutton_section editbutton_12"><form class="button btn_secedit" method="post" action="/ko:rewrite"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1524545082" /><input type="hidden" name="summary" value="[번역] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="번역" /><input type="hidden" name="codeblockOffset" value="12" /><input type="hidden" name="range" value="10803-" /><button type="submit" title="번역">편집</button></div></form></div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>ko/rewrite.txt</bdi> · 마지막으로 수정됨: <time datetime="2018-04-24T06:44:42+0200">2018-04-24 06:44</time> 저자 <bdi>gibomi</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">문서 도구</h3> <div class="tools"> <ul> <li class="edit"><a href="/ko:rewrite?do=edit" title="문서 편집 [e]" rel="nofollow" accesskey="e"><span>문서 편집</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg></a></li><li class="revs"><a href="/ko:rewrite?do=revisions" title="이전 판 [o]" rel="nofollow" accesskey="o"><span>이전 판</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/ko:rewrite?do=backlink" title="역링크" rel="nofollow"><span>역링크</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="맨 위로 [t]" rel="nofollow" accesskey="t"><span>맨 위로</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다: <bdi><a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a> <a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/lib/tpl/dokuwiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/lib/tpl/dokuwiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/lib/tpl/dokuwiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/lib/tpl/dokuwiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/lib/tpl/dokuwiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <div style="margin-top: 2em; font-size:90%" class="dokuwiki"><div style="float:right"><a href="http://www.splitbrain.org/personal#imprint" style="float:right; text-decoration: none; color:#333">Imprint</a></div></div><!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a></li> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a></li> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a></li> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a></li> <li><a href="https://github.com/splitbrain/dokuwiki" title="Access the most recent git commits" target="_top">Git</a></li> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a></li> <li><a href="https://codesearch.dokuwiki.org/" title="Search through the sources of DokuWiki, plugins and templates" target="_top">Code Search</a></li> </ul> </div> <!-- end of DokuWiki top bar include --> </div></footer><!-- /footer --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=ko%3Arewrite&1745288303" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div></body> </html>