Manual:Short URL/Apache/ko

Apache에는 아파치 웹서버에서 짧은 URL을 셋팅하기 위해 사전에 수행해야 할것들 입니다. LiteSpeed 웹서버는 Apache와 호환되며 같은 방식으로 설정될 수 있습니다. 다른 웹서버들을 위한 설정 방법을 얻고 싶거나 짧은 URL이 무엇인지에 대해 알려면 를 참고하세요. 어떤 웹호스팅 서비스를 사용중이나 어떤 웹 서버 소프트웨어를 사용하는지 모른다면, 보통 웹호스팅 서비스들은 Apache를 활용하고 있을 가능성이 높습니다.

계획하기
시작하기 앞서, 앞으로 짧게 줄여서 사용하게될 가상 URL 경로를 결정해야 합니다.

이 메뉴얼에서는 우리가 권장하거나 따르고 있는 방법들을 소개합니다. 자신만의 경로를 사용하려 한다면 일부 다른 형태가 될 수 있음을 유의해주세요.


 * 미디어 위키가 설치된 디렉토리:
 * 가상 URL의 형태:

아래 웹사이트는 이 과정들을 일부 자동으로 수행해줍니다. (미디어위키 1.17 혹은 이후 버젼에서만 가능)


 * shorturls.redwerks.org

자신만의 위키를 빠르게 설정하거나 헷갈리지 않도록 가이드를 찾고 있다면, 위 웹사이트를 먼저 방문해 보세요. 그러나, 기억해야 할것은 아마 방화벽이 설치되어 있거나 개인 위키에서는 제대로 동작하지 않을 수 도 있습니다. 후자인 경우, 자신만의 위키를 를  로 변경하여 계속 시도 해보세요. (설정이 제대로 된 이후에 를 다시  로 변경하는 것을 잊지 마세요)

그게 아니라, 수동으로 설정하려면 아래 과정을 수행하세요.

잘 동작하는 파일 찾기
짧은 URL을 Apache에 설정하기 위한 방법들 중 권장하는 방법은 Apache 설정 파일들을 수정하는 것이지만, 이것은 서버 설정을 변경하기 위한 권한을 필요로 합니다. (역자 주: root 권한) 만약 공유된 호스트(역자 주: 웹호스팅 같은)에서 작업하려고 한다면, 아마 그걸 수정할 수는 없을 것이고, 그 대안으로  파일을 사용해야 할겁니다. 파일을 사용하는 것은 효과적인 방법이 될 수는 없고 다수의 도메인을 함께 사용하려고 할 때 그렇게 많은 권한을 주지는 않습니다. 그럼에도 불구하고, 그것들만으로도 짧은 URL 설정을 하기엔 충분합니다. LiteSpeed 사용자들은  방법을 사용하세요.

설정을 바꿀 수 있는 root 권한을 가지고 있는지 아닌지에 따라 를 사용하거나 하지 않거나를 결정하여 아래 두 섹션중 하나를 따라하시면 됩니다.

Apache 설정 파일 찾기 (root 권한 보유)
관리자 설정을 변경할 수 있는 정확한 설정 파일은 많은 장소중 한곳에 있을겁니다.

대부분의 리눅스 배포본은 Apache를 설치할 때  과   폴더를 함께 설치합니다. 정확한 설정파일은 에 들어있는 것들 중 위키를 설치할 때 설정했던 설정 파일입니다. 만약 아무것도 새로 만들지 않았고 위키를 설치할 때 기본 웹사이트 디렉터리인 를 사용하였다면  를 수정하면 됩니다.

Ubuntu 12.04와 12.10에서는 는 기본적으로 비활성화 되어 있는데 활성화 시켜야 합니다.

자신이 활용중인 리눅스 배포본에 이러한 디렉터리가 없다면 Apache 설정파일을 직접 수정해야 합니다. 이 파일의 경로는 입니다. 그게 으로 명명되어 있다면, 혹은  는 찾았는데,  가 없다면 수정해야될 파일은  입니다.

Apache 설정이 어디에도 없다면 Apache를 설치한 시스템에서 설명서를 보고 Apache 설정파일이 어디에 있는지 찾아야 합니다.

Apache 설정 파일에 접근할 수 있는 권한이 없는 공유된 호스트를 사용하고 있다면, .htaccess 파일을 사용해야 할것입니다.

Apache 설정파일에 자신의 위키를 포함하는 VirtualHost 블록이 들어 있다면 거기에 rewrite 규칙을 작성할 장소가 있습니다. VirtualHost를 사용하고 있을 때 RewriteRule 설정은 상속되지 않으므로 이러한 옵션들을 전역 설정에 넣지 말아야 합니다.

Apache설정을 수정한 이후 아래 과정을 따라 Apache에 새 설정을 적용하도록 재시작 시켜줘야 합니다.


 * Plesk나 cPanel을 사용중이라면 그걸로 서버를 재시작 시키면 됩니다.
 * 커맨드 라인에서 그 커맨드는 보통,  ,  주 하나이거나 최신 Fedora 배포판에서는  입니다. 이 명령들은 root 권한으로 수행되거나  를 맨앞에 달아주시면 됩니다.

.htaccess를 놓을 곳은...?
If you're using a  file you'll need to edit or create the file. Find the path that contains both your script path and your virtual path. Usually this means the top directory of your site, but let's look at a few examples:

Note that if you want to make a redirect from the main domain to your wiki's Main Page (e.g. http://example.org/ http://example.org/wiki/Main_Page ). Then you always have to set up the .htaccess file in the top level, even if the other directories are nested deeper.

Setting up the rewrite rules
It's easier to understand the rest of this section after a glimpse at the Apache syntax, but this synopsis is not a substitute for the full Apache documentation:

The  directive defines a condition that must be true before a RewriteRule that follows it may be applied. One or more RewriteCond directives may precede a RewriteRule directive, and all the RewriteCond directives that precede a RewriteRule must be true before that rule may be applied to a URI. In the examples that follow,  takes the form of a reference to server variables, e.g.  . Although many   exist, the examples that follow use   (true when TestString is a regular file) and   (true when TestString is a directory), and they are preceded by a negation symbol,.

The  directive may be invoked in both the   file and in any   file, but when the rewrite rule appears in .htaccess files, the implicit per-directory context affects the rule's   because rules are relative to the current directory. In  files, Patterns are not relative to the complete, original URI. For  files, Patterns should never start with a forward slash, , because the URI sub-string will never begin with a. The examples that follow use the  flag whose meaning is Stop the rewriting process immediately, and don't apply any more rules.

The first rule you'll need inside of your config is one to enable the rewrite engine:

Now we need a rule to make your article path a virtual path pointing to index.php. Be sure to replace  and   with the paths you choose in the beginning (if different).

If you are using a root url instead of a normal short url you will need to use the following instead (to ensure that existing files and directories are not seen as article, e.g. " " " " etc.):

Sometimes, the above example doesn't work. The following (you can't set this in a, you need root access for this!) might work instead:

Optionally, you can include a rule to show the Main Page on the path itself, to simplify navigation when people visit urls without a page title specified:

The end result should look something like this:

or, if you used the way with the "Alias" statement:

LocalSettings.php
We need to make the following configurations in :

If you get an "Internal error" page saying "Redirect loop detected!" after you finish configuration you may be using something other than mod_php. If so you need to explicitly turn on short urls using the following line in your LocalSettings.php:

If there is still an "internal error" check the log files of your server. Maybe you have to turn on  module.