CASIO pocket computer
PB-100の宇宙

ジオシティーズからの転送ではリファラを元に適切なページを表示します、2019年9月末まで

昨夕より、ジオシティーズの当サイト跡地からの転送は適切なページに振り分けています。これ以前は常にトップページが表示されていましたが、以降はリファラを元に意図したページが表示されます。

この機能は下記の通り、2019年9月30日まで提供されます。あと5か月ほどです。

2019年3月31日までに転送設定をしていただいたお客様のページについては2019年9月30日まで告知が表示されます。

なお、現在は転送設定の受付を終了しております。ご了承ください。

ジオシティーズからの転送振り分けコード片

当サイトが転送に使用したコードは以下の通りです。汎用で書かれていない部分もありますので、適宜に読み替えて参考にしてください。url パラメータを付与してリダイレクトループを回避しています。もっとスマートな回避法もある筈ですが、サーバサイドは書き始めたばかりですので。

// Node.js + express.js
app.use( function(req, res, next){    
    const flag = 'geocities';
    var ref = req.header('Referrer') || '';

    if( req.param( flag ) ){
        next();
    } else if( ref.indexOf('http://www.geocities.jp/pbrocky544/') === 0 ){
        ref = ref.split( '?' )[ 0 ].split( 'http://www.geocities.jp/pbrocky544' ).join( '' ).split( 'index.html' ).join( '' );
        redirects[ ref ] ? res.redirect( 302, redirects[ ref ] + '?' + flag + '=1' ) : next();
    } else if( ref.indexOf('http://www.geocities.co.jp/SiliconValley-Bay/1859/') === 0 ){
        ref = ref.split( '?' )[ 0 ].split( 'http://www.geocities.co.jp/SiliconValley-Bay/1859' ).join( '' ).split( 'index.html' ).join( '' );
        redirects[ ref ] ? res.redirect( 302, redirects[ ref ] + '?' + flag + '=1' ) : next();
    } else {
        next();
    };
});