メンテナンス・トラブルシュート - ウェブサーバ - Alias によるリダイレクション

 
 .htaccess によるリダイレクトは「.htaccess による制御」をご参照ください。
1. ports
2. ディレクトリのリダイレクト
3. ファイルのリダイレクト

1. ports

 以降の処理を行うには、apache に mod_alias がインストールされていることが前提となります。  mod_alias は、デフォルトでインストールされていると思いますが

/usr/local/libexec/apache24/mod_alias.so
 が存在することと

/usr/local/etc/apache24/httpd.conf
 で

LoadModule alias_module libexec/apache24/mod_alias.so
 の行がコメントアウトされないことを確認しておいてください。  コメントアウトされていれば、コメント文字を外し、インストールされていなければ

> cd /usr/ports/www/apache24
> make config
 で ALIAS のオプションをチェックして


> make deinstall
> make
> make install
> service apache24 configtest	←	定義に誤りがないかチェック
> service apache24 restart		←	再起動

2. ディレクトリのリダイレクト

 http://www.hogehoge.jp/ のドキュメントルートが

/usr/local/www/apache24/data
 としてこの配下にごちゃごちゃものを置きたくなくて http://www.hogehoge.jp/site/ へのアクセス先を

/usr/local/www/site
 配下に置きたい場合、

/usr/local/etc/apache24/httpd.conf
 に記述することも可能ですが、サブディレクトリごとに設定したい場合

/usr/local/etc/apache24/Include/site.conf
 を作成して中に以下のように記述します。

Alias /site		/usr/local/www/site/	←	この行がリダイレクトの設定

<Directory "/usr/local/www/site">
    Options ExecCGI -Indexes +Includes
    AllowOverride All
    Require all granted
</Directory>
 オプションは個々のサイトにあった設定にします。  設定後

> service apache24 configtest	←	定義に誤りがないかチェック
> service apache24 restart		←	再起動

3. ファイルのリダイレクト

 個々のファイルをリダイレクトさせるには、例えば

/usr/local/www/site/site1.html
 を

/usr/local/www/site/site01.html
 に変更した場合

/usr/local/etc/apache24/httpd.conf

もしくは

/usr/local/etc/apache24/Include/A.conf
 に以下を記述します。

Redirect /site/site1.html	/site/site01.html
 でリダイレクトできます。  .php ファイルへの引数をつけることもできます。  この場合、注意すべきは .html で記述する場合「?引数1=値1&amp;引数2=値2」と記述しますがリダイレクトの記述の場合「?引数1=値1&引数2=値2」とエスケープさせないで記述します。