Apacheの [ httpd.conf ] を編集できない場合の、仮想Alias設定

2006年12月11日 オフ 投稿者: KYO
Table of Contents

レンタルサーバーなどで、Webサーバーのconfigファイルを操作出来ない状態で、Aliasっぽい動作をさせたい場合。
1つ目は、[ .htaccess ]を利用する(これが一般的でしょう)
2つ目は、シンボリックリンクを作成する(Apacheのリスタート不要&簡単)
3つ目は、<meta>内で移動させる
ということで、メモx2。


.htaccessの Redirectを利用する方法
[ .htaccess ]を利用する場合、制限が1つ。
例えば、ディレクトリやファイル名を変更した場合にしか使えず、ディレクトリ名を変更した場合同じ階層なら簡単。
ディレクトリ名もファイル名も変えた場合は、結構面倒になるので注意。

$vim .htaccess
#[ test ]ディレクトリへのアクセスを全て、[ http://xxx.com/demo/ ]へ飛ばす
#Redirect permanent /test/ http://xxx.com/demo/

シンボリックリンクを作成して、飛ばす方法
こちらも、ディレクトリ名変更の場合は便利。
ただし、[ .httaccess ]内で [ FollowSymLink ] が設定されていないと無理かと。

$ mv -R test/ demo/
$ ln -s test demo  -> [ test ]名のシンボリックリンクを[ demo ]へ張る

各ファイル、またはディレクトリへ<meta refresh>を指定
かなり面倒だけど、動作はする

<meta http-equiv="Refresh" content="15;URL=http://xxx.com/demo/">

[ httpd.conf ]自体を編集出来るなら、以下のようにAlias設定をした方が早いかも。

Alias test "demo/"

他にも方法はあると思うけど、とりあえず・・・・以上をメモx2。