Manual:Short URL/Apache/ja

これらの手順は、Apacheの短いURLの設定に役立ちます. LiteSpeed WebサーバーはApache互換で、比較的同じように設定できます. 短いURLの内容や、他のサーバーの設定手順については、を参照してください. 何らかのWebホスティングサービスを使用していて、使用しているWebサーバがわからない場合は、ホストがApacheを使用している可能性が非常に高いです.

計画
開始する前に、あなたの仮想「短いURL」のパスの名前を決定する必要があります.

このマニュアルでは、以下を推薦/仮定します. 異なる場合は、独自のパスを使用することを忘れないでください.


 * MediaWikiが置かれたディレクトリ:
 * 短いURLの形式:

以後の作業は自動化されたウィザードに含まれています (MediaWiki 1.17以上):


 * shorturls.redwerks.org

すばやく設定作業をしたい場合やガイドブックの内容がよく分からない場合はまずはこのウィザードツールを試してみてください. なお、ファイアウォールがある場合や非公開のウィキでは 短い URLは動作しないので注意してください. 後者の場合、 を に設定し、一時的にウィキを公開することで機能を試すことができます. 作業を終えたら、 を に戻してください

そうでなければ、下記に従って作業してください.

Find the right file
Apacheで短いURLを設定するには、Apacheの設定ファイルを編集することをお勧めします. これには、サーバー構成へのアクセス権が必要です. 共有ホスト上にいる場合は、代わりに ファイルを使用する必要はありません. ファイルを使用することは、効率が悪く、複数のドメインを使って設定することはできませんが、ほとんどの短いURL設定を設定するのに十分強力です. LiteSpeedユーザーは メソッドを使用する必要があります.

rootアクセス権を持っているか、代わりに を使用する必要があるかに応じて、次の2つの節のいずれかの手順を使用してください.

Find the Apache configuration file (root access)
ルート構成を編集するための正しい構成ファイルは、いくつかの場所の1つにある可能性があります.

ほとんどのLinuxディストリビューションでは、 と のフォルダの設定でApacheを設定しています. 編集する正しい設定ファイルは、あなたのウィキの設定が設定されている のものです. 設定しておらず、あなたのウィキ設定に既定の を使用している場合は、 を編集できます.

でオーバーライドを有効にすることを忘れないでください. Ubuntu 12.04とUbuntu 12.10では既定で無効になっています.

ディストリビューションにこれらのディレクトリがない場合は、Apache構成ファイルを直接編集する必要があります. このファイルは にあるはずです. 以前は という名前だったことに注意してください. と がない場合は、 が編集するべきものです.

Apacheの設定がこれらの場所にない場合は、Apacheのインストールに使用したシステムのマニュアルを参照して、Apacheの設定ファイルの場所を探してください.

Apacheの設定ファイルにアクセスできない共有ホストを使用している場合は、代わりに.htaccessファイルを使用する必要があります.

Apache設定ファイルには、ウィキを含むVirtualHostブロックがあるでしょう. それが存在するなら、それは書き換えルールを設定する場所です. RewriteRule configは継承しないので、VirtualHostを使用している場合は、これらの設定オプションをグローバル設定に入れないでください.

After you've setup the config as below inside Apache you're going to need to restart Apache to make it apply the new config.


 * If you are using Plesk or cPanel it should have a method of restarting the server.
 * From the command line the command is usually something like,  ,   or as on the latest Fedora releases  . These commands need to be run as root, usually by prefixing them with.

Where to put .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.