現在位置: 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の内容を書き込んだファイルを用意しなければなりません。
あるいは、新しいサイトの同じファイルにジャンプしてほしいときは、一つ一つのファイルにジャンプ先の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の場合は、

