現在位置: Top/ホームページの引っ越しスクリプト
- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ホームページの引っ越しスクリプト へ行く。
- 1 (2006-08-25 (金) 19:55:45)
- 2 (2006-08-25 (金) 21:07:04)
- 3 (2015-04-03 (金) 22:54:14)
ホームページの引っ越しスクリプト
.htaccessが使える場合
トップページに行くだけでいいなら、これは結構簡単です。
.htaccessに
ErrorDocument 403 /フルパス/error.htm ErrorDocument 404 /フルパス/error.htm
と、それに対応したerror.htmに
<html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP" /> <meta http-equiv="content-language" content="ja" /> <meta name="robots" content="index,follow" /> <title>PAGETITLE</title> <META HTTP-EQUIV="refresh" CONTENT="10; url=NEWPAGE"> </head> <body> <H1>PAGETITLE</H1> <center> このサイトは移動しました。<br> <br> <a href="NEWPAGE" target="_top">NEWPAGE</a><br><br> 10秒後に自動的にジャンプします。<br><br> <a href="javascript:history.back()">戻る</a> </center> </body> </html>
と書いておけば、新しいサイトのアドレスにジャンプします。
つまり、ページがないというエラーページをジャンプページに利用するというものです。もちろん、古いページのファイルはすべて削除しておきます。
.htaccessが使えない、または、個別のページにジャンプさせたい。
.htaccessが使えない場合は、一つ一つのHTMLファイルに上記のerror.htmの内容を書き込んだファイルを用意しなければなりません。
また、.htaccessが使えるとしても、新しいサイトの同じファイルにジャンプしてほしいときは、一つ一つのファイルにジャンプ先のURLを記述しなければなりません。
これをスクリプトで一括処理したいと思います。
- ディレクトリ構造をそのままに/tmp/htmlにコピーします。
内容は書き換わるので、元のファイルで実行しないでください。
なお、HTMLファイル以外は削除しておいてください。 - jump_source.htmを用意します。
内容は、上記のerror.htmと同じものです。 - 次に下記のスクリプトを用意します。make_jump_page.shとします。
#!/bin/bash CONVERT_HOME="/tmp/html" SOURCE_FILE="/tmp/jump_source.htm" NEW_SITE_URL="http://www.xxxx.com" for f in `find $CONVERT_HOME` do if [ -f "$f" ] ; then echo $f cp -f $SOURCE_FILE $f sed -e "s#NEWPAGE#$f#g" "$f" > "$f"_tmp mv "$f"_tmp "$f" sed -e "s#$CONVERT_HOME#$NEW_SITE_URL#g" "$f" > "$f"_tmp mv "$f"_tmp "$f" fi done exit 0 - これを実行すると/tmp/html以下のファイルの内容がjump_source.htmの内容になります。
それだけではなく、NEWPAGEという文字列を新しいサイトのURLに置き換えます。 - 新しく書き換えたファイルをそのまま古いサイトにアップロードし、アクセスすると自動的に新しいサイトの同じファイルにアクセスするようになります。画像等は削除してしまいます。
PHPで書かれている場合
PHPの場合は、受け取ったパラメタを新しいサイトの同じファイルに受け取らせる。
<html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP" /> <meta http-equiv="content-language" content="ja" /> <meta name="robots" content="index,follow" /> <title>PAGETITLE</title> <?php $getdata = $_SERVER['QUERY_STRING']; print <<<END <META HTTP-EQUIV="refresh" CONTENT="10; url=http://www.xxxx.com/yyy.php?$getdata"> </head><body> <H1>PAGETITLE</H1> <center> このサイトは移動しました。<br> <br> <a href="http://www.xxxx.com/yyy.php?$getdata">http://www.xxxx.com/yyy.php?$getdata</a><br><br> 10秒後に自動的にジャンプします。<br><br> <a href="javascript:history.back()">戻る</a> </center> END; ?> </body></html>

